From d35b6abed7e6f8367a3e194f2cfc1f44417d52fb Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 20 Mar 2024 10:57:31 -0600 Subject: [PATCH 01/61] Call on load --- .../src/app/callback-helper.service.ts | 317 +++++++++--------- .../assets/config.json | 5 +- .../clinguin_angular_frontend/index.html | 2 +- .../main.68af7957abc58eb3.js | 1 - .../main.ef1e1a35783ef1fd.js | 1 + clinguin/server/data/ui_state.py | 6 +- setup.cfg | 2 +- 7 files changed, 176 insertions(+), 158 deletions(-) delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index 0048eb9d..5db4ea3d 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -10,10 +10,10 @@ import { hide } from '@popperjs/core'; import { isEmpty, throwError } from 'rxjs'; -function aspArgumentSplitter(aspArguments: string) : string[] { +function aspArgumentSplitter(aspArguments: string): string[] { - let returnStrings : string[] = [] - let curString : string = "" + let returnStrings: string[] = [] + let curString: string = "" let bracketLevel = 0 @@ -53,15 +53,15 @@ function defaultClickContextHandler(event: Event) { if (hideAllContextMenus() == true) { return - } + } } } -function hideAllContextMenus() : boolean { +function hideAllContextMenus(): boolean { let contextMenuService = LocatorService.injector.get(ContextMenuService) let anyWasOpen = false - contextMenuService.contextMenus.forEach((item: {key:string, contextMenu:ElementDto}) => { + contextMenuService.contextMenus.forEach((item: { key: string, contextMenu: ElementDto }) => { let contextMenu = document.getElementById(item.key) if (contextMenu != null && contextMenu.style.display == "block") { @@ -71,9 +71,9 @@ function hideAllContextMenus() : boolean { }) return anyWasOpen -} +} -function handleRightClick( policy:string, event: Event) { +function handleRightClick(policy: string, event: Event) { event.preventDefault() event.stopPropagation() @@ -91,30 +91,30 @@ function handleRightClick( policy:string, event: Event) { let contextMenu = document.getElementById(policy) if (contextMenu != null) { - if (contextMenu.style.display == "block"){ + if (contextMenu.style.display == "block") { contextMenu.style.display = "none" - } else { - contextMenu.style.display = 'block'; - contextMenu.style.left = event.pageX + "px"; - contextMenu.style.top = event.pageY + "px"; - } + } else { + contextMenu.style.display = 'block'; + contextMenu.style.left = event.pageX + "px"; + contextMenu.style.top = event.pageY + "px"; + } } } } - + } - -function handleUpdate(when:WhenDto, event: Event | null) { + +function handleUpdate(when: WhenDto, event: Event | null) { let elementLookupService = LocatorService.injector.get(ElementLookupService) let policy = when.policy policy = policy.substring(1) - policy = policy.slice(0,-1) + policy = policy.slice(0, -1) let splits = aspArgumentSplitter(policy) @@ -122,15 +122,15 @@ function handleUpdate(when:WhenDto, event: Event | null) { let key = splits[1] let value = splits[2] - let elementLookup : ElementLookupDto | null = elementLookupService.getElement(id) + let elementLookup: ElementLookupDto | null = elementLookupService.getElement(id) if (elementLookup != null) { - if (elementLookup.element.type == "context_menu" && event!=null){ - if(key!="visibility" || value!="visible"){ - console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " +id+","+key +","+value) - }else{ - handleRightClick(id,event) + if (elementLookup.element.type == "context_menu" && event != null) { + if (key != "visibility" || value != "visible") { + console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " + id + "," + key + "," + value) + } else { + handleRightClick(id, event) } return } @@ -138,16 +138,16 @@ function handleUpdate(when:WhenDto, event: Event | null) { let found = false for (let index in tmpAttributes) { - let attribute : AttributeDto = tmpAttributes[index] + let attribute: AttributeDto = tmpAttributes[index] if (attribute.key == key) { found = true - tmpAttributes[index] = {"id":id, "key":key,"value":value} + tmpAttributes[index] = { "id": id, "key": key, "value": value } } } if (found == false) { - tmpAttributes.push({"id":id, "key":key,"value":value}) + tmpAttributes.push({ "id": id, "key": key, "value": value }) } elementLookup.element.attributes = tmpAttributes @@ -160,8 +160,8 @@ function handleUpdate(when:WhenDto, event: Event | null) { } } - if(elementLookup.object == null && elementLookup.element.type.startsWith('svg') && elementLookup.tagHtml!=null){ - elementLookup.tagHtml.style.setProperty(key,value.replaceAll('"','')) + if (elementLookup.object == null && elementLookup.element.type.startsWith('svg') && elementLookup.tagHtml != null) { + elementLookup.tagHtml.style.setProperty(key, value.replaceAll('"', '')) } if (elementLookup.tagHtml != null) { let childBearerService = LocatorService.injector.get(ChildBearerService) @@ -177,38 +177,38 @@ function handleUpdate(when:WhenDto, event: Event | null) { } -function replaceContext(policy_string:string, optional:boolean){ +function replaceContext(policy_string: string, optional: boolean) { let contextService = LocatorService.injector.get(ContextService) let regex = /_context_value\(([^)]*)\)/ - if (optional){ + if (optional) { regex = /_context_value_optional\(([^)]*)\)/ } let match = regex.exec(policy_string) - while(match != null) { + while (match != null) { let match_group = match[1] let new_value = contextService.retrieveContextValue(match_group) - if (new_value.length == 0 && !optional){ - throw new Error("Missing required value for " + match_group); + if (new_value.length == 0 && !optional) { + throw new Error("Missing required value for " + match_group); } - function isNumber(s:string) { + function isNumber(s: string) { return /^[0-9]*$/.test(s); } - if (!isNumber(new_value) && new_value.length>0) { - if ( new_value[0] === new_value[0].toUpperCase() && new_value[0]!='"'){ - new_value = '"'+new_value+'"' + if (!isNumber(new_value) && new_value.length > 0) { + if (new_value[0] === new_value[0].toUpperCase() && new_value[0] != '"') { + new_value = '"' + new_value + '"' } - } + } policy_string = policy_string.replace(regex, new_value) - + match = regex.exec(policy_string) } return policy_string } -function handleCallback(when:WhenDto, event: Event) { +function handleCallback(when: WhenDto, event: Event | null) { let frontendService = LocatorService.injector.get(DrawFrontendService) let policy_string = when.policy @@ -221,16 +221,16 @@ function handleCallback(when:WhenDto, event: Event) { frontendService.policyPost(when) } -function handleContext(when:WhenDto, event: Event | null) { +function handleContext(when: WhenDto, event: Event | null) { let contextService = LocatorService.injector.get(ContextService) let policy = when.policy policy = replaceContext(policy, true) policy = replaceContext(policy, false) - if (policy[0]=='('){ + if (policy[0] == '(') { policy = policy.substring(1) - policy = policy.slice(0,-1) + policy = policy.slice(0, -1) let splits = aspArgumentSplitter(policy) if (splits.length >= 2) { if (splits.length > 2) { @@ -240,14 +240,14 @@ function handleContext(when:WhenDto, event: Event | null) { let key = splits[0] let value = splits[1] - if (event!=null){ + if (event != null) { let regex = /_value/g - let eventTarget : EventTarget | null = event.target - + let eventTarget: EventTarget | null = event.target + if (eventTarget != null && "value" in eventTarget) { let match = value.match(regex) - + if (match != null && typeof eventTarget.value === "string") { if (eventTarget.value == "") { console.log("EVENT TARGET IS EMPTY") @@ -260,17 +260,17 @@ function handleContext(when:WhenDto, event: Event | null) { } for (let index = 2; index < splits.length; index++) { - value = value + "," + splits[index] + value = value + "," + splits[index] } contextService.addContext(key, value) return } - } + } - let message = "The value of context event should be a tuple of size 2, but got " +when.policy + let message = "The value of context event should be a tuple of size 2, but got " + when.policy console.error(message) let frontendService = LocatorService.injector.get(DrawFrontendService) - frontendService.postMessage(message,"warning") + frontendService.postMessage(message, "warning") } @Injectable({ @@ -279,117 +279,128 @@ function handleContext(when:WhenDto, event: Event | null) { export class CallBackHelperService { constructor(private frontendService: DrawFrontendService) { - document.onclick = defaultClickContextHandler; - document.oncontextmenu = defaultClickContextHandler; - } - - findCallback(action: string, callbacks: WhenDto[]): WhenDto | null { - let value = null - let index = callbacks.findIndex(callback => callback.actionType == action) - if (index >= 0) { - value = callbacks[index] - } - return value - } - - setCallbacks(html: HTMLElement, dos:WhenDto[]) { - this.handleEvent(html, dos, "click", "click") - this.handleEvent(html, dos, "input", "input") - this.handleEvent(html, dos, "right_click", "contextmenu") - this.handleEvent(html, dos, "mouseenter", "mouseenter") - this.handleEvent(html, dos, "mouseleave", "mouseleave") - this.handleEvent(html, dos, "load", "load") - this.handleEvent(html, dos, "dblclick", "dblclick") + document.onclick = defaultClickContextHandler; + document.oncontextmenu = defaultClickContextHandler; + } + + findCallback(action: string, callbacks: WhenDto[]): WhenDto | null { + let value = null + let index = callbacks.findIndex(callback => callback.actionType == action) + if (index >= 0) { + value = callbacks[index] } + return value + } - handleEvent(html: HTMLElement, dos:WhenDto[], supportedAttributeName:string = "", htmlEventName:string = "") { - let allEvents:WhenDto[] = [] - dos.forEach((when:WhenDto) => { - if (when.actionType == supportedAttributeName) { - allEvents.push(when) - } - }) - - if (allEvents.length > 0 && htmlEventName != "") { - if(supportedAttributeName=="load"){ - allEvents.forEach((when:WhenDto) => { - if (when.interactionType == "context") { - handleContext(when, null) - } - if (when.interactionType == "update") { - handleUpdate(when, null) - } - }) - return - } - if (supportedAttributeName == "click") { - html.style.cursor = "pointer" - } - html.addEventListener(htmlEventName,function(event: Event){ - allEvents.sort( function (a, b) { - if (a.interactionType < b.interactionType) { - return 1; - } - if (a.interactionType > b.interactionType) { - return -1; - } - return 0; - }); - - const updates = allEvents.filter((w) => w.interactionType == "update") - const context = allEvents.filter((w) => w.interactionType == "context") - const call = allEvents.filter((w) => w.interactionType == "call" || w.interactionType == "callback") - // const context_menu = allEvents.filter((w) => w.interactionType == "show_context_menu" ) - - // context_menu.forEach((when:WhenDto) => { - // try{ - // if (when.interactionType == "update") { - // handleUpdate(when, event) - // } else if (when.interactionType == "context") { - // handleContext(when, event) - // } else if (when.interactionType == "call" || when.interactionType == "callback") { - // handleCallback(when, event) - // } - // }catch(error:any){ - // let frontendService = LocatorService.injector.get(DrawFrontendService) - // frontendService.postMessage(error.message,"warning") - // } - // }) - - updates.forEach((when:WhenDto) => { - try{ - handleUpdate(when, event) - }catch(error:any){ - let frontendService = LocatorService.injector.get(DrawFrontendService) - frontendService.postMessage(error.message,"warning") - } - }) + setCallbacks(html: HTMLElement, dos: WhenDto[]) { + this.handleEvent(html, dos, "click", "click") + this.handleEvent(html, dos, "input", "input") + this.handleEvent(html, dos, "right_click", "contextmenu") + this.handleEvent(html, dos, "mouseenter", "mouseenter") + this.handleEvent(html, dos, "mouseleave", "mouseleave") + this.handleEvent(html, dos, "load", "load") + this.handleEvent(html, dos, "dblclick", "dblclick") + } - context.forEach((when:WhenDto) => { - try{ - handleContext(when, event) - }catch(error:any){ + handleEvent(html: HTMLElement, dos: WhenDto[], supportedAttributeName: string = "", htmlEventName: string = "") { + let allEvents: WhenDto[] = [] + dos.forEach((when: WhenDto) => { + if (when.actionType == supportedAttributeName) { + allEvents.push(when) + } + }) + console.log("Handle event") + if (allEvents.length > 0 && htmlEventName != "") { + if (supportedAttributeName == "load") { + console.log("Load") + + allEvents.forEach((when: WhenDto) => { + if (when.interactionType == "context") { + handleContext(when, null) + } + if (when.interactionType == "update") { + handleUpdate(when, null) + } + if (when.interactionType == "call" || when.interactionType == "callback") { + console.log("call") + try { + handleCallback(when, null) + } catch (error: any) { let frontendService = LocatorService.injector.get(DrawFrontendService) - frontendService.postMessage(error.message,"warning") + frontendService.postMessage(error.message, "warning") } - }) + } + }) + return + } + if (supportedAttributeName == "click") { + html.style.cursor = "pointer" + } + html.addEventListener(htmlEventName, function (event: Event) { + allEvents.sort(function (a, b) { + if (a.interactionType < b.interactionType) { + return 1; + } + if (a.interactionType > b.interactionType) { + return -1; + } + return 0; + }); + + const updates = allEvents.filter((w) => w.interactionType == "update") + const context = allEvents.filter((w) => w.interactionType == "context") + const call = allEvents.filter((w) => w.interactionType == "call" || w.interactionType == "callback") + // const context_menu = allEvents.filter((w) => w.interactionType == "show_context_menu" ) + + // context_menu.forEach((when:WhenDto) => { + // try{ + // if (when.interactionType == "update") { + // handleUpdate(when, event) + // } else if (when.interactionType == "context") { + // handleContext(when, event) + // } else if (when.interactionType == "call" || when.interactionType == "callback") { + // handleCallback(when, event) + // } + // }catch(error:any){ + // let frontendService = LocatorService.injector.get(DrawFrontendService) + // frontendService.postMessage(error.message,"warning") + // } + // }) + + updates.forEach((when: WhenDto) => { + try { + handleUpdate(when, event) + } catch (error: any) { + let frontendService = LocatorService.injector.get(DrawFrontendService) + frontendService.postMessage(error.message, "warning") + } + }) - if (call.length>1) { - call[0].policy = "(" + call.map(x=>{return x.policy}).join(',') + ")" + context.forEach((when: WhenDto) => { + try { + handleContext(when, event) + } catch (error: any) { + let frontendService = LocatorService.injector.get(DrawFrontendService) + frontendService.postMessage(error.message, "warning") } - call.forEach((when:WhenDto) => { - try{ - handleCallback(call[0],event) - }catch(error:any){ - let frontendService = LocatorService.injector.get(DrawFrontendService) - frontendService.postMessage(error.message,"warning") - } - }) }) - } + if (call.length > 1) { + call[0].policy = "(" + call.map(x => { return x.policy }).join(',') + ")" + } + call.forEach((when: WhenDto) => { + try { + handleCallback(call[0], event) + } catch (error: any) { + let frontendService = LocatorService.injector.get(DrawFrontendService) + frontendService.postMessage(error.message, "warning") + } + }) + }) + } - + } + } diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..25131302 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverUrl":"http://localhost", + "serverPort":"8000" +} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 5f050353..04906d85 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js deleted file mode 100644 index f2d598b0..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,Wt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(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 gg=function SE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function TE(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function ME(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function NE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function AE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function OE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function xE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function HE(e,t){if(null!=e){if(fg(e))return function FE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function LE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function BE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function VE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class UE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function jE(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const $E=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty($E)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function jn(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(JE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),JE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",XE=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function nS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||nS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function cS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function DS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function mS(e){return me(e)||Vt(e)}function vS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:mS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(vS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,qt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let MS=Ue.WeakRef??class TS{constructor(t){this.ref=t}deref(){return this.ref}},NS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=NS++,this.ref=function IS(e){return new MS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class RS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class PS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=kS),FS}function FS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function kS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function LS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new PS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function $S(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function tT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function iT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[qt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=iT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={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=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function gT(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let _T=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function mT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=_T++);const r=n&R_;t.data[e+(r>>P_)]|=1<=0?t&R_:wT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][qt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=yT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function yT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function fT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function GE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function uT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[qt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function AT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function hM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[qt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function _M(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function bM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[qt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function kM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class LM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class BM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const HM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(HM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),UM=$i("script,style,template");class jM{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!UM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const $M=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,GM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&").replace($M,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(GM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Jd(e){return"content"in e&&function WM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function zM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new BM(e);return function VM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new LM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new jM).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function XM(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const eI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&eI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},nI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class Gn{}class zl extends Gn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(Gn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function aI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function rS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function sS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(XE,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function rI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=nI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function oI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function iI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function ZE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function sI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>lI}),lI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class vI{}class Km{}class bI{resolveComponentFactory(t){throw function yI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new bI,t})();function DI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=DI,t})();function wI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let zn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function CI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),EI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const SI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,XM(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Zt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class xI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function RI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function FI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,PI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const PI={};function Cf(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 Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class LI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function PE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[qt]=s,h[Oo]=function tM(){return eM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function tN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function eT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function rN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function iN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function uN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function _N(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new RS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function gM(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class SN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class MN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function gS(e){return e.map(pS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof Gn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new MN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(EI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function JI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function QI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function TN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function NN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function AN(e,t,i,n,r,s,o){const a=r[H];!function ON(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function RN(e,t,i,n){if(n)ed(e,i,["ng-version",SI.full]);else{const{attrs:r,classes:s}=function _S(e){const t=[],i=[];let n=1,r=2;for(;n0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function PN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function LN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function BN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function VN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Jt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Jt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Jt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function uA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Yt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Jt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function pA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function zS(){return K.lFrame.elementDepthCount}()&&Yt(c,r),function WS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function YS(e){return K.skipHydrationRootTNode===e})(t)&&function KS(){K.skipHydrationRootTNode=null}(),function qS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function hT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function pT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function bA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function rT(e){return(K.lFrame.contextLView=function sT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function DA(e,t){let i=null;const n=function uS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];MA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function MA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function OA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function FA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function kA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function LA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function BA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function CA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function TA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function qn(e,t,i){const n=A();return Jt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),qn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function lx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?ax:ox,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function tI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function sx(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class cx{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends cx{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let hx=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function fx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(Gn))}),t})();function Yn(e){e.getStandaloneInjector=t=>t.get(hx).getOrCreateStandaloneInjector(e)}function kx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=kx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function $n(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function IT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=Ux,t})();const Vx=nt,Hx=class extends Vx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Lx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function Ux(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Hx(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=qx,t})();function qx(){return Q0(Ut(),A())}const Yx=Cn,Z0=class extends Yx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(Gn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function jS(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[qt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Bx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Zx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function wM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function SR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new UE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function YR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function QR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function OS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Zt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function XR(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function eP(e="zone.js",t){return"noop"===e?new LI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function dx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(nP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:tP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){jn(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function ZR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??jE,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(Gn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function JR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Zt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function tP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let nP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=rP,t})();function rP(e){return function sP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new dP(t)}}const uP=(e,t)=>t;class dP{constructor(t){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=t||uP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new fP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class fP{constructor(t,i){this.item=t,this.trackById=i,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 hP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new hP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const vP=O1(null,"core",[]);let yP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class xP{}const Qt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class mF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new mF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new vF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class vF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class mk extends xP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends mk{static makeCurrent(){!function OP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function vk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function yk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,Dk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/"},rp=/%COMP%/g,Sk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Nk(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Sk),L(Qt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Nk extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Tk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Mk(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ak=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],Ok={"\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"},xk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Rk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=Ok[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,xk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Lk=O1(vP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Pk(){ep.makeCurrent()},multi:!0},{provide:Qt,useFactory:function kk(){return function AM(e){zd=e}(document),document},deps:[]}]),Bk=new W(""),Vb=[{provide:Ec,useClass:class bk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function Fk(){return new Ar},deps:[]},{provide:tp,useClass:Ak,multi:!0,deps:[Qt,Se,Nr]},{provide:tp,useClass:Rk,multi:!0,deps:[Qt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:Dk,deps:[]},[]];let Vk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,yP]}),t})();typeof window<"u"&&window;let Kt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let Xt=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Yk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Jk=/%(\d[a-f0-9])/gi,Qk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Jk,(t,i)=>Qk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Yk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Zk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Kk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function Xk(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Kk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function qk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function n2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const r2=new W(""),Ta=new W(""),eD=new W("");function s2(){let e=null;return(t,i)=>{null===e&&(e=(fe(r2,{optional:!0})??[]).reduceRight(n2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function i2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(Gn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const c2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function u2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(c2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let h2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function p2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function g2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:p2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:h2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let m2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[g2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:s2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class C2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),E2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=Xt.injector.get(Qn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function Wk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Kt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Qn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(E2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S2=["child"];function T2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(S2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,T2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=Xt.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=Xt.injector.get(Kt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function M2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=Xt.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&Xt.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=Xt.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=Xt.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{"context"==l.interactionType&&gD(l,null),"update"==l.interactionType&&pD(l,null)});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{gD(g,l)}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{!function I2(e,t){let i=Xt.injector.get(Qn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}(h[0])}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function _D(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function $t(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return $t(e,t,i).pipe(_D(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(mD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(mD(e,t)):[];if(!r&&Fu(e))return us(o=>$t(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function mD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},vD={now:()=>(vD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=vD.now;const yD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=yD;function bD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function DD(e){return 1===e.length&&j2(e[0])?e[0]:e}function wD(...e){return 1===(e=DD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function CD(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function ED(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(ED(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let SD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends SD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends SD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const Gt=new W("NgValidators"),hr=new W("NgAsyncValidators");function FD(e){return null!=e}function kD(e){return fc(e)?wo(e):e}function LD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function BD(e,t){return t.map(i=>i(e))}function VD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function HD(e){if(!e)return null;const t=e.filter(FD);return 0==t.length?null:function(i){return LD(BD(i,t))}}(VD(e)):null}function UD(e){if(!e)return null;const t=e.filter(FD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(_D(t)):r}(BD(i,t).map(kD)).pipe(Pt(LD))}}function mp(e){return null!=e?UD(VD(e)):null}function jD(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function $D(e){return e._rawValidators}function GD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function zD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function WD(e,t){return vp(t).filter(i=>!eu(e,i))}class qD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends qD{get formDirective(){return null}get path(){return null}}class pr extends qD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class YD{constructor(t){this._cd=t}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 ZD=(()=>{var e;class t extends YD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),JD=(()=>{var e;class t extends YD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function KD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function XD(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(zD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(WD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=kD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){XD(this,0,t),Object.keys(t).forEach(n=>{KD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class ew extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&tw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&tw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=$D(e);null!==t.validator?e.setValidators(jD(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=GD(e);null!==t.asyncValidator?e.setAsyncValidators(jD(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=$D(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function tw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function rw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function sw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=sw(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){rw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){rw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){sw(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let uw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),fw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function iw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function nw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Gt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(Gt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function mw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=mw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),vw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(mw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function yw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(yw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(yw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Aw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[fw]}),t})();class Ow extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){XD(this,0,t),t.forEach((n,r)=>{KD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function xw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return xw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new ew(s,r)}control(n,r,s){let o={};return this.useNonNullable?(xw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new Ow(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Aw]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Aw]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Rw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Bn="top",di="bottom",fi="right",Vn="left",Pp="auto",Pa=[Bn,di,fi,Vn],lo="start",Fa="end",Pw="viewport",ka="popper",Fw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),kw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Hn(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Hn(e).Element||e instanceof Element}function Xn(e){return e instanceof Hn(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Hn(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Lw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Hn(e):window).visualViewport,l=!Lw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Hn(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Hn(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Bw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Bw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Bw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Hn(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Vw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Hn(e),i=Vw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Vw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Hw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Uw(e,t,i){return t===Pw?Hp(function fB(e,t){var i=Hn(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Lw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function jw(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Bn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Vn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function Gw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function zw(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Pw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=Gw("number"!=typeof D?D:zw(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Hw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=Uw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},Uw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=jw({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Bn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Rw(e),t,Rw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?kw:l,u=fo(t.placement),h=u?a?Fw:Fw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",Un=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Vn:gn?di:Bn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(Un[pi]<=0),a&&ts.push(Un[gi]<=0,Un[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Bn:Vn,es="y"===O?di:fi,Un="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[Un]/2:0,ag=C===lo?ue[Un]:_e[Un],Ya=C===lo?-_e[Un]:-ue[Un],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[Un],mo[Un]),lg=P?ue[Un]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[Un]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,cE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-cE,uE=Va(_?fu(Mu,gi+lg-cE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=uE,pi[O]=uE-gi}if(a){var dE,is=J[V],Ou="y"===V?"height":"width",fE=is+D["x"===O?Bn:Vn],hE=is-D["x"===O?di:fi],ug=-1!==[Bn,Vn].indexOf(T),pE=null!=(dE=Bt?.[V])?dE:0,gE=ug?fE:is-ue[Ou]-_e[Ou]-pE+Dt.altAxis,_E=ug?is+ue[Ou]+_e[Ou]-pE-Dt.altAxis:hE,mE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(gE,is,_E):Va(_?gE:fE,is,_?_E:hE);J[V]=mE,pi[V]=mE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Vn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return Gw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:zw(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Bn:Vn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Hw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Hn(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var Ww={placement:"bottom",modifiers:[],strategy:"absolute"};function qw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Vn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Zw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function eC(e=document){const t=e?.activeElement;return t?t.shadowRoot?eC(t.shadowRoot):t:null}const tC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=tC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=$t(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));wD(bD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=tC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),uC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(zn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Yn],ngContentSelectors:Zw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),pC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),yC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function bC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=$t(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),CD(g=>g.preventDefault())),u=$t(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&yC(_,a):"outside"===i?!bu(_,s):yC(_,a)||!bu(_,s))}),Mt(r)),h=$t(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=yD){const i=bD(e,t);return ED(()=>i)}(0),Mt(r));wD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const DC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function wC(e){const t=Array.from(e.querySelectorAll(DC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function EC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function SC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let FC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(qn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),kC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function TC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||SC)(EC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||SC)(EC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function IC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),bC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===eC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(DC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else $t(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&$t(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Qt),v(Se),v(Fe),v(zn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),LC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Yn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class BC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Qw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{$t(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;$t(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),CD(()=>r=!1),Vu(()=>$t(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),$t(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=wC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Qt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Yn],ngContentSelectors:Zw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=$t(t,"focusin").pipe(Mt(i),Pt(s=>s.target));$t(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=wC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&$t(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new BC,c=(n=s.injector||n).get(Gn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Zt.create({providers:[{provide:BC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Zt),L(Gn),L(Qt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[VC]}),t})(),$C=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),QC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),XC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[uC,dC,pC,Zp,FC,LC,HC,$C,aE,QC,XC,eE,tE,nE,iE,rE,sE,oE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,uC,dC,pC,Zp,FC,LC,HC,$C,aE,QC,XC,eE,tE,nE,iE,rE,sE,oE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Qn),v(Qt),v(Kt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,kC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=Xt.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Qn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,uw,vw,bw,Kc,gp,uu,ZD,JD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let lE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n);null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element&&("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef?null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close():(this.modalRef=this.modalService.open(this.content,{ariaLabelledBy:"modal-basic-title"}),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(o=>{if(this.closeResult=`Closed with: ${o}`,null!=this.element)for(let a=0;a{if(this.closeResult=`Dismissed ${this.getDismissReason(o)}`,null!=this.element)for(let a=0;a{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:lE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Kt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Qn),v(Kt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Qn),v(Fi),v(Tn),v(Kt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){Xt.injector.get(Kt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Qn),v(gt),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,Xt.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Vk,QL,JL,bb,m2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(lE,[uD],[]),Lk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,Wt)=>{"use strict";Wt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},Wt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},Wt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Wt.lW=M,Wt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,Wt)=>{Wt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},Wt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var Wt=$=>_i(_i.s=$);Wt(614),Wt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js new file mode 100644 index 00000000..23aad98e --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js @@ -0,0 +1 @@ +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(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 gg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function OE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(fg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function LE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function HE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(QE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class PS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function BS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={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=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let mT=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&R_;t.data[e+(r>>P_)]|=1<=0?t&R_:CT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Jd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},iI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class yI{}class Km{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function Cf(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 Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function PN(e,t,i,n){if(n)ed(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function hx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return Q0(Ut(),A())}const Zx=Cn,Z0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function ZR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function xS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Jt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:nP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function JR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const yP=O1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class RP{}const Kt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends vk{static makeCurrent(){!function xP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/"},rp=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=O1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Fk(){ep.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){zd=e}(document),document},deps:[]}]),Vk=new W(""),Vb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:tp,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:tp,useClass:Pk,multi:!0,deps:[Kt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),eD=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:g2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:o2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=$t.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&pD(l,null),"call"==l.interactionType||"callback"==l.interactionType)try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Fu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function mp(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function qD(e,t){return vp(t).filter(i=>!eu(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Pp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Vw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Hp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Pw(e),t,Pw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[jn]/2:0,ag=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[jn],mo[jn]),lg=P?ue[jn]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?fu(Mu,gi+lg-uE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Ou="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],ug=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=ug?hE:is-ue[Ou]-_e[Ou]-gE+Dt.altAxis,mE=ug?is+ue[Ou]+_e[Ou]-gE-Dt.altAxis:pE,vE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&bC(_,a):"outside"===i?!bu(_,s):bC(_,a)||!bu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Vu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Kc,gp,uu,JD,QD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n);null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element&&("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef?null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close():(this.modalRef=this.modalService.open(this.content,{ariaLabelledBy:"modal-basic-title"}),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(o=>{if(this.closeResult=`Closed with: ${o}`,null!=this.element)for(let a=0;a{if(this.closeResult=`Dismissed ${this.getDismissReason(o)}`,null!=this.element)for(let a=0;a{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Hk,QL,JL,bb,v2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[uD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 504683a3..fc9fe16c 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -85,11 +85,15 @@ def update_ui_state(self): log.debug("Computing UI state\n") uictl = self.ui_control() + defined = False with uictl.solve(yield_=True) as result: for m in result: model_symbols = m.symbols(shown=True, atoms=True) + defined = True break - + if not defined: + log.critical("UI encoding was UNSATISFIABLE") + raise RuntimeError("UI encoding was UNSATISFIABLE") self._factbase = clorm.unify(self.__class__.unifiers, model_symbols) def add_message(self, title, message, attribute_type="info"): diff --git a/setup.cfg b/setup.cfg index 3b0795a4..5f0bd8ca 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,7 +12,7 @@ url = https://github.com/krr-up/clinguin packages = find: include_package_data=True install_requires = - clingo>=5.6.0 + clingo==5.6.0 clorm>=1.4.1 clingo-dl fastapi==0.103.* From b28a9a70dddec18246d1e41d9a1d48d0ba7082af Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 20 Mar 2024 14:18:35 -0600 Subject: [PATCH 02/61] Fixed docs --- docs/clinguin/reference/state.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst index cbf4937f..bff8d6c8 100644 --- a/docs/clinguin/reference/state.rst +++ b/docs/clinguin/reference/state.rst @@ -19,7 +19,7 @@ These facts are generated by calling clingo with the :ref:`domain-state` and the The available element types, attributes, events, and actions will vary depending on the frontend. See the details for each front end in the :ref:`Frontends` section. -- ``elem(ID, TYPE, PARENT)`` +**Elements** ``elem(ID, TYPE, PARENT)`` Elements define building blocks of the UI. @@ -30,7 +30,7 @@ Elements define building blocks of the UI. - ``PARENT`` The id of the parent element. The identifier ``root`` is used as the root element of the UI. -- ``attr(ID, KEY, VALUE)`` +**Attributes** ``attr(ID, KEY, VALUE)`` Attributes define the style of the UI. @@ -41,11 +41,10 @@ Attributes define the style of the UI. - ``VALUE`` The value of the attribute. -- ``when(ID, EVENT, ACTION, OPERATION)`` +**Actions** ``when(ID, EVENT, ACTION, OPERATION)`` Actions define the interactivity of the UI. Multiple actions are allowed, as explained below. - - ``ID`` Identifier of the element that the user interacted with. - ``EVENT`` The event that is being triggered, such as ``click``, ``hover``, ``input``, etc. Each element type allows different events. @@ -161,8 +160,8 @@ We usually employ cautious consequences when we want to show the user any infere .. code-block:: - {p(1);p(2);p(3)}. - :- p(1). + 1{p(1);p(2)}1. + :- p(2). We have one stable model: `{p(1)}`. Therefore the following atoms will be added to the :ref:`domain-state`. From db80e26249f9fa0d53fb398b890b3ddeac4bb57e Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 20 Mar 2024 14:29:39 -0600 Subject: [PATCH 03/61] Fixed ClingoBackend arguments issue --- .../clinguin_angular_frontend/assets/config.json | 5 +---- clinguin/parse_input.py | 5 +++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 25131302..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverUrl":"http://localhost", - "serverPort":"8000" -} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/parse_input.py b/clinguin/parse_input.py index dc1810c0..d6acc307 100644 --- a/clinguin/parse_input.py +++ b/clinguin/parse_input.py @@ -1,6 +1,7 @@ """ Responsible for parsing the command line attributes """ + import argparse import importlib import inspect @@ -306,7 +307,7 @@ def _create_client_server_subparser(self, subparsers): return parser_server_client def _add_default_arguments_to_backend_parser(self, parser): - sub_classes = self._get_sub_classes(ClingoBackend) + sub_classes = [ClingoBackend] + self._get_sub_classes(ClingoBackend) sub_class_as_options = "|".join([s.__name__ for s in sub_classes]) sub_classes_str = "=> Available options: {" + sub_class_as_options + "}" parser.add_argument( @@ -411,7 +412,7 @@ def _get_sub_classes(self, cur_class): def _select_subclass_and_add_custom_arguments( self, parser, parent, class_name, default_class ): - sub_classes = self._get_sub_classes(parent) + sub_classes = [parent] + self._get_sub_classes(parent) selected_class = None From 9f304f77cce970e8de6cbbacb1697f6736f4c09f Mon Sep 17 00:00:00 2001 From: alexl4123 Date: Sun, 24 Mar 2024 08:50:59 +0100 Subject: [PATCH 04/61] Added resizable modal option and example --- .../src/app/modal/modal.component.ts | 17 +++++++++++++++-- examples/angular/placement/ui.lp | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/angular_frontend/src/app/modal/modal.component.ts b/angular_frontend/src/app/modal/modal.component.ts index 4b23c630..9a8a16b9 100644 --- a/angular_frontend/src/app/modal/modal.component.ts +++ b/angular_frontend/src/app/modal/modal.component.ts @@ -46,6 +46,8 @@ export class ModalComponent { let visibility = this.attributeService.findAttribute("visible", attributes) let modalTitle = this.attributeService.findAttribute("title", attributes) + let modalSize = this.attributeService.findAttribute("size", attributes) + if (modalTitle != null) { this.modalTitle = modalTitle.value } @@ -53,8 +55,19 @@ export class ModalComponent { if (visibility != null && this.element != null) { if ((visibility.value == "shown" || visibility.value == "visible") && (this.modalRef == null)) { - - this.modalRef = this.modalService.open(this.content, { ariaLabelledBy: 'modal-basic-title' }) + + if (modalSize != null) { + console.log(modalSize.value) + } + + let ngbModalOptions = null + if (modalSize != null) { + ngbModalOptions = { ariaLabelledBy: 'modal-basic-title', size: modalSize.value } + } else { + ngbModalOptions = { ariaLabelledBy: 'modal-basic-title' } + } + + this.modalRef = this.modalService.open(this.content, ngbModalOptions) this.modalRefService.registerModal(this.element.id, this.modalRef) diff --git a/examples/angular/placement/ui.lp b/examples/angular/placement/ui.lp index 75e9d409..93f6cfb0 100644 --- a/examples/angular/placement/ui.lp +++ b/examples/angular/placement/ui.lp @@ -12,6 +12,7 @@ attr(window, flex_direction, row). elem(modal, modal, window). attr(modal, title, "Add person"). + attr(modal, size, "xl"). elem(c1, container, modal). attr(c1, child_layout, flex). From 5a30760e7bddea48db028b9eb6b0ebf275a7b4d1 Mon Sep 17 00:00:00 2001 From: alexl4123 Date: Sun, 24 Mar 2024 08:57:32 +0100 Subject: [PATCH 05/61] Updated angular frontend files --- .../angular_frontend/clinguin_angular_frontend/index.html | 4 ++-- .../clinguin_angular_frontend/main.7a34beb52ad3b6df.js | 1 + .../clinguin_angular_frontend/main.ef1e1a35783ef1fd.js | 1 - .../clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js | 1 + .../clinguin_angular_frontend/polyfills.c3c1ec5412338255.js | 1 - .../clinguin_angular_frontend/styles.60758c8c825da6c0.css | 5 ----- .../clinguin_angular_frontend/styles.f277f9f97c8ac5df.css | 5 +++++ 7 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 04906d85..627b136d 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -8,8 +8,8 @@ - + - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js new file mode 100644 index 00000000..06a17fe7 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js @@ -0,0 +1 @@ +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(Ci,Zt,Ue)=>{"use strict";function $(t){return"function"==typeof t}function ft(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const Ye=ft(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function Be(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class me{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:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const o of e)o.remove(this);else e.remove(this);const{initialTeardown:i}=this;if($(i))try{i()}catch(o){n=o instanceof Ye?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{S(o)}catch(s){n=n??[],s instanceof Ye?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Ye(n)}}add(n){var e;if(n&&n!==this)if(this.closed)S(n);else{if(n instanceof me){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Be(e,n)}remove(n){const{_finalizers:e}=this;e&&Be(e,n),n instanceof me&&n._removeParent(this)}}me.EMPTY=(()=>{const t=new me;return t.closed=!0,t})();const De=me.EMPTY;function je(t){return t instanceof me||t&&"closed"in t&&$(t.remove)&&$(t.add)&&$(t.unsubscribe)}function S(t){$(t)?t():t.unsubscribe()}const ht={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},$e={setTimeout(t,n,...e){const{delegate:i}=$e;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=$e;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function pt(t){$e.setTimeout(()=>{const{onUnhandledError:n}=ht;if(!n)throw t;n(t)})}function vt(){}const Q=Ze("C",void 0,void 0);function Ze(t,n,e){return{kind:t,value:n,error:e}}let Je=null;function Re(t){if(ht.useDeprecatedSynchronousErrorHandling){const n=!Je;if(n&&(Je={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=Je;if(Je=null,e)throw i}}else t()}class ln extends me{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,je(n)&&n.add(this)):this.destination=ao}static create(n,e,i){return new Ni(n,e,i)}next(n){this.isStopped?wr(function we(t){return Ze("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?wr(function pe(t){return Ze("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?wr(Q,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 xt=Function.prototype.bind;function bt(t,n){return xt.call(t,n)}class Dr{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Ei(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Ei(i)}else Ei(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Ei(e)}}}class Ni extends ln{constructor(n,e,i){let r;if(super(),$(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&ht.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&bt(n.next,o),error:n.error&&bt(n.error,o),complete:n.complete&&bt(n.complete,o)}):r=n}this.destination=new Dr(r)}}function Ei(t){ht.useDeprecatedSynchronousErrorHandling?function Ot(t){ht.useDeprecatedSynchronousErrorHandling&&Je&&(Je.errorThrown=!0,Je.error=t)}(t):pt(t)}function wr(t,n){const{onStoppedNotification:e}=ht;e&&$e.setTimeout(()=>e(t,n))}const ao={closed:!0,next:vt,error:function ms(t){throw t},complete:vt},Cr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Si(t){return t}let qe=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){const o=function ys(t){return t&&t instanceof ln||function co(t){return t&&$(t.next)&&$(t.error)&&$(t.complete)}(t)&&je(t)}(e)?e:new Ni(e,i,r);return Re(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=lo(i))((r,o)=>{const s=new Ni({next:a=>{try{e(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[Cr](){return this}pipe(...e){return function Nr(t){return 0===t.length?Si:1===t.length?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=lo(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function lo(t){var n;return null!==(n=t??ht.Promise)&&void 0!==n?n:Promise}const uo=ft(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let re=(()=>{class t extends qe{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new Ht(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new uo}next(e){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:r,observers:o}=this;return i||r?De:(this.currentObservers=null,o.push(e),new me(()=>{this.currentObservers=null,Be(o,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){const e=new qe;return e.source=this,e}}return t.create=(n,e)=>new Ht(n,e),t})();class Ht extends re{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:De}}class fo extends re{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function Dt(t){return n=>{if(function ho(t){return $(t?.lift)}(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function st(t,n,e,i,r){return new po(t,n,e,i,r)}class po extends ln{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Ut(t,n){return Dt((e,i)=>{let r=0;e.subscribe(st(i,o=>{i.next(t.call(n,o,r++))}))})}function Jt(t){return this instanceof Jt?(this.v=t,this):new Jt(t)}function Xa(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function _e(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=t[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Cu=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function Wp(t){return $(t?.then)}function qp(t){return $(t[Cr])}function Xp(t){return Symbol.asyncIterator&&$(t?.[Symbol.asyncIterator])}function Kp(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Yp=function aN(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Zp(t){return $(t?.[Yp])}function Jp(t){return function tt(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=e.apply(t,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(g){i[g]&&(r[g]=function(m){return new Promise(function(b,v){o.push([g,m,b,v])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Jt?Promise.resolve(g.value.v).then(c,u):h(o[0][2],g)}(i[g](m))}catch(b){h(o[0][3],b)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,m){g(m),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:r}=yield Jt(e.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{e.releaseLock()}})}function Qp(t){return $(t?.getReader)}function $t(t){if(t instanceof qe)return t;if(null!=t){if(qp(t))return function lN(t){return new qe(n=>{const e=t[Cr]();if($(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(Cu(t))return function cN(t){return new qe(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,pt)})}(t);if(Xp(t))return eg(t);if(Zp(t))return function dN(t){return new qe(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(Qp(t))return function fN(t){return eg(Jp(t))}(t)}throw Kp(t)}function eg(t){return new qe(n=>{(function hN(t,n){var e,i,r,o;return function D(t,n,e,i){return new(e||(e=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(h){s(h)}}function l(u){try{c(i.throw(u))}catch(h){s(h)}}function c(u){u.done?o(u.value):function r(o){return o instanceof e?o:new e(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=Xa(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function or(t,n,e,i=0,r=!1){const o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function mo(t,n,e=1/0){return $(n)?mo((i,r)=>Ut((o,s)=>n(i,o,r,s))($t(t(i,r))),e):("number"==typeof n&&(e=n),Dt((i,r)=>function pN(t,n,e,i,r,o,s,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&n.complete()},m=v=>c{o&&n.next(v),c++;let N=!1;$t(e(v,u++)).subscribe(st(n,T=>{r?.(T),o?m(T):n.next(T)},()=>{N=!0},void 0,()=>{if(N)try{for(c--;l.length&&cb(T)):b(T)}g()}catch(T){n.error(T)}}))};return t.subscribe(st(n,m,()=>{h=!0,g()})),()=>{a?.()}}(i,r,t,e)))}function tg(t=1/0){return mo(Si,t)}const bs=new qe(t=>t.complete());function ng(t){return t&&$(t.schedule)}function Nu(t){return t[t.length-1]}function Eu(t){return $(Nu(t))?t.pop():void 0}function Ka(t){return ng(Nu(t))?t.pop():void 0}function ig(t,n=0){return Dt((e,i)=>{e.subscribe(st(i,r=>or(i,t,()=>i.next(r),n),()=>or(i,t,()=>i.complete(),n),r=>or(i,t,()=>i.error(r),n)))})}function rg(t,n=0){return Dt((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function og(t,n){if(!t)throw new Error("Iterable cannot be null");return new qe(e=>{or(e,n,()=>{const i=t[Symbol.asyncIterator]();or(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function Ds(t,n){return n?function wN(t,n){if(null!=t){if(qp(t))return function _N(t,n){return $t(t).pipe(rg(n),ig(n))}(t,n);if(Cu(t))return function vN(t,n){return new qe(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(Wp(t))return function yN(t,n){return $t(t).pipe(rg(n),ig(n))}(t,n);if(Xp(t))return og(t,n);if(Zp(t))return function bN(t,n){return new qe(e=>{let i;return or(e,n,()=>{i=t[Yp](),or(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void e.error(s)}o?e.complete():e.next(r)},0,!0)}),()=>$(i?.return)&&i.return()})}(t,n);if(Qp(t))return function DN(t,n){return og(Jp(t),n)}(t,n)}throw Kp(t)}(t,n):$t(t)}function _o(...t){return Ds(t,Ka(t))}function ag(t={}){const{connector:n=(()=>new re),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=t;return o=>{let s,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},m=()=>{g(),s=l=void 0,u=h=!1},b=()=>{const v=s;m(),v?.unsubscribe()};return Dt((v,N)=>{c++,!h&&!u&&g();const T=l=l??n();N.add(()=>{c--,0===c&&!h&&!u&&(a=Su(b,r))}),T.subscribe(N),!s&&c>0&&(s=new Ni({next:w=>T.next(w),error:w=>{h=!0,g(),a=Su(m,e,w),T.error(w)},complete:()=>{u=!0,g(),a=Su(m,i),T.complete()}}),$t(v).subscribe(s))})(o)}}function Su(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new Ni({next:()=>{i.unsubscribe(),t()}});return $t(n(...e)).subscribe(i)}function Tu(t,n){return Dt((e,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();e.subscribe(st(i,l=>{r?.unsubscribe();let c=0;const u=o++;$t(t(l,u)).subscribe(r=st(i,h=>i.next(n?n(l,h,u,c++):h),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function CN(t,n){return t===n}function Pe(t){for(let n in t)if(t[n]===Pe)return n;throw Error("Could not find renamed property on target object.")}function Ya(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function Rt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Rt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function Mu(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const NN=Pe({__forward_ref__:Pe});function de(t){return t.__forward_ref__=de,t.toString=function(){return Rt(this())},t}function ie(t){return Iu(t)?t():t}function Iu(t){return"function"==typeof t&&t.hasOwnProperty(NN)&&t.__forward_ref__===de}function Au(t){return t&&!!t.\u0275providers}const cg="https://g.co/ng/security#xss";class F extends Error{constructor(n,e){super(function Za(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function oe(t){return"string"==typeof t?t:null==t?"":String(t)}function Ja(t,n){throw new F(-201,!1)}function Yn(t,n){null==t&&function Ie(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function z(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Ae(t){return{providers:t.providers||[],imports:t.imports||[]}}function Qa(t){return ug(t,el)||ug(t,fg)}function ug(t,n){return t.hasOwnProperty(n)?t[n]:null}function dg(t){return t&&(t.hasOwnProperty(Ou)||t.hasOwnProperty(ON))?t[Ou]:null}const el=Pe({\u0275prov:Pe}),Ou=Pe({\u0275inj:Pe}),fg=Pe({ngInjectableDef:Pe}),ON=Pe({ngInjectorDef:Pe});var ne=(()=>((ne=ne||{})[ne.Default=0]="Default",ne[ne.Host=1]="Host",ne[ne.Self=2]="Self",ne[ne.SkipSelf=4]="SkipSelf",ne[ne.Optional=8]="Optional",ne))();let xu;function bn(t){const n=xu;return xu=t,n}function pg(t,n,e){const i=Qa(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&ne.Optional?null:void 0!==n?n:void Ja(Rt(t))}const Ge=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),ws={},Ru="__NG_DI_FLAG__",tl="ngTempTokenPath",RN=/\n/gm,gg="__source";let yo;function ar(t){const n=yo;return yo=t,n}function kN(t,n=ne.Default){if(void 0===yo)throw new F(-203,!1);return null===yo?pg(t,void 0,n):yo.get(t,n&ne.Optional?null:void 0,n)}function B(t,n=ne.Default){return(function hg(){return xu}()||kN)(ie(t),n)}function ye(t,n=ne.Default){return B(t,nl(n))}function nl(t){return typeof t>"u"||"number"==typeof t?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Pu(t){const n=[];for(let e=0;e((Mi=Mi||{})[Mi.OnPush=0]="OnPush",Mi[Mi.Default=1]="Default",Mi))(),Fn=(()=>{return(t=Fn||(Fn={}))[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",Fn;var t})();const Ii={},Ee=[],il=Pe({\u0275cmp:Pe}),Fu=Pe({\u0275dir:Pe}),ku=Pe({\u0275pipe:Pe}),_g=Pe({\u0275mod:Pe}),Xi=Pe({\u0275fac:Pe}),Ns=Pe({__NG_ELEMENT_ID__:Pe}),yg=Pe({__NG_ENV_ID__:Pe});function vg(t,n,e){let i=t.length;for(;;){const r=t.indexOf(n,e);if(-1===r)return r;if(0===r||t.charCodeAt(r-1)<=32){const o=n.length;if(r+o===i||t.charCodeAt(r+o)<=32)return r}e=r+1}}function Lu(t,n,e){let i=0;for(;in){s=o-1;break}}}for(;oo?"":r[h+1].toLowerCase();const m=8&i?g:null;if(m&&-1!==vg(m,c,0)||2&i&&c!==g){if(si(i))return!1;s=!0}}}}else{if(!s&&!si(i)&&!si(l))return!1;if(s&&si(l))continue;s=!1,i=l|1&i}}return si(i)||s}function si(t){return 0==(1&t)}function $N(t,n,e,i){if(null===n)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!si(s)&&(n+=Sg(o,r),r=""),i=s,o=o||!si(i);e++}return""!==r&&(n+=Sg(o,r)),n}function Qe(t){return qi(()=>{const n=Ig(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===Mi.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Fn.Emulated,styles:t.styles||Ee,_:null,schemas:t.schemas||null,tView:null,id:""};Ag(e);const i=t.dependencies;return e.directiveDefs=rl(i,!1),e.pipeDefs=rl(i,!0),e.id=function tE(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const r of e)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(e),e})}function ZN(t){return Se(t)||Qt(t)}function JN(t){return null!==t}function Fe(t){return qi(()=>({type:t.type,bootstrap:t.bootstrap||Ee,declarations:t.declarations||Ee,imports:t.imports||Ee,exports:t.exports||Ee,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Mg(t,n){if(null==t)return Ii;const e={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,n&&(n[r]=o)}return e}function k(t){return qi(()=>{const n=Ig(t);return Ag(n),n})}function Se(t){return t[il]||null}function Qt(t){return t[Fu]||null}function wn(t){return t[ku]||null}function Ig(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||Ii,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Ee,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Mg(t.inputs,n),outputs:Mg(t.outputs)}}function Ag(t){t.features?.forEach(n=>n(t))}function rl(t,n){if(!t)return null;const e=n?wn:ZN;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(JN)}const Pt=0,G=1,se=2,lt=3,ai=4,Ts=5,en=6,vo=7,wt=8,bo=9,Sr=10,ae=11,Ms=12,Og=13,Do=14,Ct=15,Is=16,wo=17,Ai=18,As=19,xg=20,lr=21,Ki=22,ol=23,sl=24,ve=25,Bu=1,Rg=2,Oi=7,Co=9,tn=11;function Ln(t){return Array.isArray(t)&&"object"==typeof t[Bu]}function Cn(t){return Array.isArray(t)&&!0===t[Bu]}function Vu(t){return 0!=(4&t.flags)}function Tr(t){return t.componentOffset>-1}function ll(t){return 1==(1&t.flags)}function li(t){return!!t.template}function Hu(t){return 0!=(512&t[se])}function Mr(t,n){return t.hasOwnProperty(Xi)?t[Xi]:null}let aE=Ge.WeakRef??class sE{constructor(n){this.ref=n}deref(){return this.ref}},cE=0,xi=null,cl=!1;function Gt(t){const n=xi;return xi=t,n}class Bg{constructor(){this.id=cE++,this.ref=function lE(t){return new aE(t)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[n,e]of this.producers){const i=e.producerNode.deref();if(void 0!==i&&e.atTrackingVersion===this.trackingVersion){if(i.producerPollStatus(e.seenValueVersion))return!0}else this.producers.delete(n),i?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const n=cl;cl=!0;try{for(const[e,i]of this.consumers){const r=i.consumerNode.deref();void 0!==r&&r.trackingVersion===i.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(e),r?.producers.delete(this.id))}}finally{cl=n}}producerAccessed(){if(cl)throw new Error("");if(null===xi)return;let n=xi.producers.get(this.id);void 0===n?(n={consumerNode:xi.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:xi.trackingVersion},xi.producers.set(this.id,n),this.consumers.set(xi.id,n)):(n.seenValueVersion=this.valueVersion,n.atTrackingVersion=xi.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==xi?.consumerAllowSignalWrites}producerPollStatus(n){return this.valueVersion!==n||(this.onProducerUpdateValueVersion(),this.valueVersion!==n)}}let Vg=null;const Ug=()=>{};class hE extends Bg{constructor(n,e,i){super(),this.watch=n,this.schedule=e,this.dirty=!1,this.cleanupFn=Ug,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=i}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const n=Gt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=Ug,this.watch(this.registerOnCleanup)}finally{Gt(n)}}cleanup(){this.cleanupFn()}}class pE{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function un(){return jg}function jg(t){return t.type.prototype.ngOnChanges&&(t.setInput=mE),gE}function gE(){const t=Gg(this),n=t?.current;if(n){const e=t.previous;if(e===Ii)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function mE(t,n,e,i){const r=this.declaredInputs[e],o=Gg(t)||function _E(t,n){return t[$g]=n}(t,{previous:Ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new pE(l&&l.currentValue,n,a===Ii),t[i]=n}un.ngInherit=!0;const $g="__ngSimpleChanges__";function Gg(t){return t[$g]||null}const Ri=function(t,n,e){};function et(t){for(;Array.isArray(t);)t=t[Pt];return t}function fl(t,n){return et(n[t])}function Nn(t,n){return et(n[t.index])}function qg(t,n){return t.data[n]}function Bn(t,n){const e=n[t];return Ln(e)?e:e[Pt]}function cr(t,n){return null==n?null:t[n]}function Xg(t){t[wo]=0}function NE(t){1024&t[se]||(t[se]|=1024,Yg(t,1))}function Kg(t){1024&t[se]&&(t[se]&=-1025,Yg(t,-1))}function Yg(t,n){let e=t[lt];if(null===e)return;e[Ts]+=n;let i=e;for(e=e[lt];null!==e&&(1===n&&1===i[Ts]||-1===n&&0===i[Ts]);)e[Ts]+=n,i=e,e=e[lt]}const te={lFrame:am(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Qg(){return te.bindingsEnabled}function Eo(){return null!==te.skipHydrationRootTNode}function A(){return te.lFrame.lView}function be(){return te.lFrame.tView}function dn(t){return te.lFrame.contextLView=t,t[wt]}function fn(t){return te.lFrame.contextLView=null,t}function zt(){let t=em();for(;null!==t&&64===t.type;)t=t.parent;return t}function em(){return te.lFrame.currentTNode}function Pi(t,n){const e=te.lFrame;e.currentTNode=t,e.isParent=n}function Wu(){return te.lFrame.isParent}function qu(){te.lFrame.isParent=!1}function So(){return te.lFrame.bindingIndex++}function Zi(t){const n=te.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function kE(t,n){const e=te.lFrame;e.bindingIndex=e.bindingRootIndex=t,Xu(n)}function Xu(t){te.lFrame.currentDirectiveIndex=t}function rm(){return te.lFrame.currentQueryIndex}function Yu(t){te.lFrame.currentQueryIndex=t}function BE(t){const n=t[G];return 2===n.type?n.declTNode:1===n.type?t[en]:null}function om(t,n,e){if(e&ne.SkipSelf){let r=n,o=t;for(;!(r=r.parent,null!==r||e&ne.Host||(r=BE(o),null===r||(o=o[Do],10&r.type))););if(null===r)return!1;n=r,t=o}const i=te.lFrame=sm();return i.currentTNode=n,i.lView=t,!0}function Zu(t){const n=sm(),e=t[G];te.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function sm(){const t=te.lFrame,n=null===t?null:t.child;return null===n?am(t):n}function am(t){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:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function lm(){const t=te.lFrame;return te.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const cm=lm;function Ju(){const t=lm();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function pn(){return te.lFrame.selectedIndex}function Ir(t){te.lFrame.selectedIndex=t}function ct(){const t=te.lFrame;return qg(t.tView,t.selectedIndex)}let dm=!0;function hl(){return dm}function ur(t){dm=t}function pl(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[wo]+=65536),(a>13>16&&(3&t[se])===n&&(t[se]+=8192,hm(a,o)):hm(a,o)}const To=-1;class Rs{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function pm(t){return t!==To}function _l(t){return 32767&t}function yl(t,n){let e=function YE(t){return t>>16}(t),i=n;for(;e>0;)i=i[Do],e--;return i}let td=!0;function vl(t){const n=td;return td=t,n}const gm=255,mm=5;let ZE=0;const Fi={};function bl(t,n){const e=_m(t,n);if(-1!==e)return e;const i=n[G];i.firstCreatePass&&(t.injectorIndex=n.length,nd(i.data,t),nd(n,null),nd(i.blueprint,null));const r=id(t,n),o=t.injectorIndex;if(pm(r)){const s=_l(r),a=yl(r,n),l=a[G].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function nd(t,n){t.push(0,0,0,0,0,0,0,0,n)}function _m(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function id(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;null!==r;){if(i=Nm(r),null===i)return To;if(e++,r=r[Do],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return To}function rd(t,n,e){!function JE(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Ns)&&(i=e[Ns]),null==i&&(i=e[Ns]=ZE++);const r=i&gm;n.data[t+(r>>mm)]|=1<=0?n&gm:nS:n}(e);if("function"==typeof o){if(!om(n,t,i))return i&ne.Host?ym(r,0,i):vm(n,e,i,r);try{const s=o(i);if(null!=s||i&ne.Optional)return s;Ja()}finally{cm()}}else if("number"==typeof o){let s=null,a=_m(t,n),l=To,c=i&ne.Host?n[Ct][en]:null;for((-1===a||i&ne.SkipSelf)&&(l=-1===a?id(t,n):n[a+8],l!==To&&Cm(i,!1)?(s=n[G],a=_l(l),n=yl(l,n)):a=-1);-1!==a;){const u=n[G];if(wm(o,a,u.data)){const h=eS(a,n,e,s,i,c);if(h!==Fi)return h}l=n[a+8],l!==To&&Cm(i,n[G].data[a+8]===c)&&wm(o,a,n)?(s=u,a=_l(l),n=yl(l,n)):a=-1}}return r}function eS(t,n,e,i,r,o){const s=n[G],a=s.data[t+8],u=Dl(a,s,e,null==i?Tr(a)&&td:i!=s&&0!=(3&a.type),r&ne.Host&&o===a);return null!==u?Ar(n,s,u,a):Fi}function Dl(t,n,e,i,r){const o=t.providerIndexes,s=n.data,a=1048575&o,l=t.directiveStart,u=o>>20,g=r?a+u:t.directiveEnd;for(let m=i?a:a+u;m=l&&b.type===e)return m}if(r){const m=s[l];if(m&&li(m)&&m.type===e)return l}return null}function Ar(t,n,e,i){let r=t[e];const o=n.data;if(function qE(t){return t instanceof Rs}(r)){const s=r;s.resolving&&function EN(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new F(-200,`Circular dependency in DI detected for ${t}${e}`)}(function Me(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():oe(t)}(o[e]));const a=vl(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?bn(s.injectImpl):null;om(t,i,ne.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&function zE(t,n,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=jg(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}(e,o[e],n)}finally{null!==l&&bn(l),vl(a),s.resolving=!1,cm()}}return r}function wm(t,n,e){return!!(e[n+(t>>mm)]&1<{const n=t.prototype.constructor,e=n[Xi]||od(n),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const o=r[Xi]||od(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function od(t){return Iu(t)?()=>{const n=od(ie(t));return n&&n()}:Mr(t)}function Nm(t){const n=t[G],e=n.type;return 2===e?n.declTNode:1===e?t[en]:null}const Oo="__parameters__";function Ro(t,n,e){return qi(()=>{const i=function sd(t){return function(...e){if(t){const i=t(...e);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const h=l.hasOwnProperty(Oo)?l[Oo]:Object.defineProperty(l,Oo,{value:[]})[Oo];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}function ks(t,n){t.forEach(e=>Array.isArray(e)?ks(e,n):n(e))}function Sm(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function wl(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function Ls(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function lS(t,n,e,i){let r=t.length;if(r==n)t.push(e,i);else if(1===r)t.push(i,t[0]),t[0]=e;else{for(r--,t.push(t[r-1],t[r]);r>n;)t[r]=t[r-2],r--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function ad(t,n){const e=Po(t,n);if(e>=0)return t[1|e]}function Po(t,n){return function Tm(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<((En=En||{})[En.Important=1]="Important",En[En.DashCase=2]="DashCase",En))();const gd=new Map;let xS=0;const _d="__ngContext__";function nn(t,n){Ln(n)?(t[_d]=n[As],function PS(t){gd.set(t[As],t)}(n)):t[_d]=n}let yd;function vd(t,n){return yd(t,n)}function Hs(t){const n=t[lt];return Cn(n)?n[lt]:n}function qm(t){return Km(t[Ms])}function Xm(t){return Km(t[ai])}function Km(t){for(;null!==t&&!Cn(t);)t=t[ai];return t}function Lo(t,n,e,i,r){if(null!=i){let o,s=!1;Cn(i)?o=i:Ln(i)&&(s=!0,i=i[Pt]);const a=et(i);0===t&&null!==e?null==r?e_(n,e,a):Or(n,e,a,r||null,!0):1===t&&null!==e?Or(n,e,a,r||null,!0):2===t?function Rl(t,n,e){const i=Ol(t,n);i&&function QS(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=o&&function nT(t,n,e,i,r){const o=e[Oi];o!==et(e)&&Lo(n,t,i,o,r);for(let a=tn;a0&&(t[e-1][ai]=i[ai]);const o=wl(t,tn+n);!function zS(t,n){js(t,n,n[ae],2,null,null),n[Pt]=null,n[en]=null}(i[G],i);const s=o[Ai];null!==s&&s.detachView(o[G]),i[lt]=null,i[ai]=null,i[se]&=-129}return i}function Jm(t,n){if(!(256&n[se])){const e=n[ae];n[ol]?.destroy(),n[sl]?.destroy(),e.destroyNode&&js(t,n,e,3,null,null),function XS(t){let n=t[Ms];if(!n)return wd(t[G],t);for(;n;){let e=null;if(Ln(n))e=n[Ms];else{const i=n[tn];i&&(e=i)}if(!e){for(;n&&!n[ai]&&n!==t;)Ln(n)&&wd(n[G],n),n=n[lt];null===n&&(n=t),Ln(n)&&wd(n[G],n),e=n&&n[ai]}n=e}}(n)}}function wd(t,n){if(!(256&n[se])){n[se]&=-129,n[se]|=256,function JS(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else e[o].call(i[e[o+1]]);null!==i&&(n[vo]=null);const r=n[lr];if(null!==r){n[lr]=null;for(let o=0;o-1){const{encapsulation:o}=t.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return Nn(i,e)}}(t,n.parent,e)}function Or(t,n,e,i,r){t.insertBefore(n,e,i,r)}function e_(t,n,e){t.appendChild(n,e)}function t_(t,n,e,i,r){null!==i?Or(t,n,e,i,r):e_(t,n,e)}function Ol(t,n){return t.parentNode(n)}function n_(t,n,e){return r_(t,n,e)}let Nd,Pl,Md,Fl,r_=function i_(t,n,e){return 40&t.type?Nn(t,e):null};function xl(t,n,e,i){const r=Cd(t,i,n),o=n[ae],a=n_(i.parent||n[en],i,n);if(null!=r)if(Array.isArray(e))for(let l=0;lt,createScript:t=>t,createScriptURL:t=>t})}catch{}return Pl}()?.createHTML(t)||t}function $s(){if(void 0!==Md)return Md;if(typeof document<"u")return document;throw new F(210,!1)}function d_(t){return function Id(){if(void 0===Fl&&(Fl=null,Ge.trustedTypes))try{Fl=Ge.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Fl}()?.createHTML(t)||t}class p_{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${cg})`}}function dr(t){return t instanceof p_?t.changingThisBreaksApplicationSecurity:t}function Gs(t,n){const e=function pT(t){return t instanceof p_&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${cg})`)}return e===n}class gT{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Bo(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class mT{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Bo(n),e}}const yT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ad(t){return(t=String(t)).match(yT)?t:"unsafe:"+t}function Ji(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function zs(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const m_=Ji("area,br,col,hr,img,wbr"),__=Ji("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),y_=Ji("rp,rt"),Od=zs(m_,zs(__,Ji("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),zs(y_,Ji("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),zs(y_,__)),xd=Ji("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),v_=zs(xd,Ji("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ji("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=Ji("script,style,template");class bT{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let r=this.checkClobberedElement(e,e.nextSibling);if(r){e=r;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(n){const e=n.nodeName.toLowerCase();if(!Od.hasOwnProperty(e))return this.sanitizedSomething=!0,!vT.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const e=n.nodeName.toLowerCase();Od.hasOwnProperty(e)&&!m_.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(b_(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const DT=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,wT=/([^\#-~ |!])/g;function b_(t){return t.replace(/&/g,"&").replace(DT,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(wT,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let kl;function Rd(t){return"content"in t&&function NT(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Et=(()=>((Et=Et||{})[Et.NONE=0]="NONE",Et[Et.HTML=1]="HTML",Et[Et.STYLE=2]="STYLE",Et[Et.SCRIPT=3]="SCRIPT",Et[Et.URL=4]="URL",Et[Et.RESOURCE_URL=5]="RESOURCE_URL",Et))();function D_(t){const n=Ws();return n?d_(n.sanitize(Et.HTML,t)||""):Gs(t,"HTML")?d_(dr(t)):function CT(t,n){let e=null;try{kl=kl||function g_(t){const n=new mT(t);return function _T(){try{return!!(new window.DOMParser).parseFromString(Bo(""),"text/html")}catch{return!1}}()?new gT(n):n}(t);let i=n?String(n):"";e=kl.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=kl.getInertBodyElement(i)}while(i!==o);return Bo((new bT).sanitizeChildren(Rd(e)||e))}finally{if(e){const i=Rd(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}($s(),oe(t))}function Pd(t){const n=Ws();return n?n.sanitize(Et.URL,t)||"":Gs(t,"URL")?dr(t):Ad(oe(t))}function Ws(){const t=A();return t&&t[Sr].sanitizer}class q{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=z({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ll=new q("ENVIRONMENT_INITIALIZER"),C_=new q("INJECTOR",-1),N_=new q("INJECTOR_DEF_TYPES");class E_{get(n,e=ws){if(e===ws){const i=new Error(`NullInjectorError: No provider for ${Rt(n)}!`);throw i.name="NullInjectorError",i}return e}}function OT(...t){return{\u0275providers:S_(0,t),\u0275fromNgModule:!0}}function S_(t,...n){const e=[],i=new Set;let r;return ks(n,o=>{const s=o;kd(s,e,[],i)&&(r||=[],r.push(s))}),void 0!==r&&T_(r,e),e}function T_(t,n){for(let e=0;e{n.push(o)})}}function kd(t,n,e,i){if(!(t=ie(t)))return!1;let r=null,o=dg(t);const s=!o&&Se(t);if(o||s){if(s&&!s.standalone)return!1;r=t}else{const l=t.ngModule;if(o=dg(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)kd(c,n,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{ks(o.imports,u=>{kd(u,n,e,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&T_(c,n)}if(!a){const c=Mr(r)||(()=>new r);n.push({provide:r,useFactory:c,deps:Ee},{provide:N_,useValue:r,multi:!0},{provide:Ll,useValue:()=>B(r),multi:!0})}const l=o.providers;null==l||a||Ld(l,u=>{n.push(u)})}}return r!==t&&void 0!==t.providers}function Ld(t,n){for(let e of t)Au(e)&&(e=e.\u0275providers),Array.isArray(e)?Ld(e,n):n(e)}const xT=Pe({provide:String,useValue:Pe});function Bd(t){return null!==t&&"object"==typeof t&&xT in t}function xr(t){return"function"==typeof t}const Vd=new q("Set Injector scope."),Bl={},PT={};let Hd;function Vl(){return void 0===Hd&&(Hd=new E_),Hd}class Qi{}class Ud extends Qi{get destroyed(){return this._destroyed}constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,$d(n,s=>this.processProvider(s)),this.records.set(C_,Vo(void 0,this)),r.has("environment")&&this.records.set(Qi,Vo(void 0,this));const o=this.records.get(Vd);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(N_.multi,Ee,ne.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const e of this._ngOnDestroyHooks)e.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const e of n)e()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=ar(this),i=bn(void 0);try{return n()}finally{ar(e),bn(i)}}get(n,e=ws,i=ne.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(yg))return n[yg](this);i=nl(i);const r=ar(this),o=bn(void 0);try{if(!(i&ne.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function VT(t){return"function"==typeof t||"object"==typeof t&&t instanceof q}(n)&&Qa(n);a=l&&this.injectableDefInScope(l)?Vo(jd(n),Bl):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(i&ne.Self?Vl():this.parent).get(n,e=i&ne.Optional&&e===ws?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[tl]=s[tl]||[]).unshift(Rt(n)),r)throw s;return function BN(t,n,e,i){const r=t[tl];throw n[gg]&&r.unshift(n[gg]),t.message=function VN(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let r=Rt(n);if(Array.isArray(n))r=n.map(Rt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):Rt(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(RN,"\n ")}`}("\n"+t.message,r,e,i),t.ngTokenPath=r,t[tl]=null,t}(s,n,"R3InjectorError",this.source)}throw s}finally{bn(o),ar(r)}}resolveInjectorInitializers(){const n=ar(this),e=bn(void 0);try{const i=this.get(Ll.multi,Ee,ne.Self);for(const r of i)r()}finally{ar(n),bn(e)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(Rt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(n){let e=xr(n=ie(n))?n:ie(n&&n.provide);const i=function kT(t){return Bd(t)?Vo(void 0,t.useValue):Vo(A_(t),Bl)}(n);if(xr(n)||!0!==n.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=Vo(void 0,Bl,!0),r.factory=()=>Pu(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){return e.value===Bl&&(e.value=PT,e.value=e.factory()),"object"==typeof e.value&&e.value&&function BT(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=ie(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function jd(t){const n=Qa(t),e=null!==n?n.factory:Mr(t);if(null!==e)return e;if(t instanceof q)throw new F(204,!1);if(t instanceof Function)return function FT(t){const n=t.length;if(n>0)throw Ls(n,"?"),new F(204,!1);const e=function AN(t){return t&&(t[el]||t[fg])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new F(204,!1)}function A_(t,n,e){let i;if(xr(t)){const r=ie(t);return Mr(r)||jd(r)}if(Bd(t))i=()=>ie(t.useValue);else if(function I_(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Pu(t.deps||[]));else if(function M_(t){return!(!t||!t.useExisting)}(t))i=()=>B(ie(t.useExisting));else{const r=ie(t&&(t.useClass||t.provide));if(!function LT(t){return!!t.deps}(t))return Mr(r)||jd(r);i=()=>new r(...Pu(t.deps))}return i}function Vo(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function $d(t,n){for(const e of t)Array.isArray(e)?$d(e,n):e&&Au(e)?$d(e.\u0275providers,n):n(e)}const Hl=new q("AppId",{providedIn:"root",factory:()=>HT}),HT="ng",O_=new q("Platform Initializer"),Rr=new q("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),x_=new q("CSP nonce",{providedIn:"root",factory:()=>$s().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let P_=(t,n)=>null;function F_(t,n){return P_(t,n)}class KT{}class B_{}class ZT{resolveComponentFactory(n){throw function YT(t){const n=Error(`No component factory found for ${Rt(t)}.`);return n.ngComponent=t,n}(n)}}let zl=(()=>{class t{}return t.NULL=new ZT,t})();function JT(){return Ho(zt(),A())}function Ho(t,n){return new ke(Nn(t,n))}let ke=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=JT,t})();function QT(t){return t instanceof ke?t.nativeElement:t}class ef{}let Jn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function eM(){const t=A(),e=Bn(zt().index,t);return(Ln(e)?e:t)[ae]}(),t})(),tM=(()=>{class t{}return t.\u0275prov=z({token:t,providedIn:"root",factory:()=>null}),t})();class Wl{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const nM=new Wl("16.1.4"),tf={};function Ys(t){for(;t;){t[se]|=64;const n=Hs(t);if(Hu(t)&&!n)return t;t=n}return null}function nf(t){return t.ngOriginalError}class Pr{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&nf(n);for(;e&&nf(e);)e=nf(e);return e||null}}const j_=new q("",{providedIn:"root",factory:()=>!1});class q_ extends Bg{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(n){this._lView=n}onConsumerDependencyMayHaveChanged(){Ys(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(n,e,i){const r=Gt(this);this.trackingVersion++;try{n(e,i)}finally{Gt(r)}}destroy(){this.trackingVersion++}}let Xl=null;function X_(){return Xl??=new q_,Xl}function K_(t,n){return t[n]??X_()}function Y_(t,n){const e=X_();e.hasReadASignal&&(t[n]=Xl,e.lView=t,Xl=new q_)}const le={};function P(t){Z_(be(),A(),pn()+t,!1)}function Z_(t,n,e,i){if(!i)if(3==(3&n[se])){const o=t.preOrderCheckHooks;null!==o&&gl(n,o,e)}else{const o=t.preOrderHooks;null!==o&&ml(n,o,0,e)}Ir(e)}function ty(t,n=null,e=null,i){const r=ny(t,n,e,i);return r.resolveInjectorInitializers(),r}function ny(t,n=null,e=null,i,r=new Set){const o=[e||Ee,OT(t)];return i=i||("object"==typeof t?void 0:Rt(t)),new Ud(o,n||Vl(),i||null,r)}let Hn=(()=>{class t{static create(e,i){if(Array.isArray(e))return ty({name:""},i,e,"");{const r=e.name??"";return ty({name:r},e.parent,e.providers,r)}}}return t.THROW_IF_NOT_FOUND=ws,t.NULL=new E_,t.\u0275prov=z({token:t,providedIn:"any",factory:()=>B(C_)}),t.__NG_ELEMENT_ID__=-1,t})();function y(t,n=ne.Default){const e=A();return null===e?B(t,n):bm(zt(),e,ie(t),n)}function Kl(t,n,e,i,r,o,s,a,l,c,u){const h=n.blueprint.slice();return h[Pt]=r,h[se]=140|i,(null!==c||t&&2048&t[se])&&(h[se]|=2048),Xg(h),h[lt]=h[Do]=t,h[wt]=e,h[Sr]=s||t&&t[Sr],h[ae]=a||t&&t[ae],h[bo]=l||t&&t[bo]||null,h[en]=o,h[As]=function RS(){return xS++}(),h[Ki]=u,h[xg]=c,h[Ct]=2==n.type?t[Ct]:h,h}function jo(t,n,e,i,r){let o=t.data[n];if(null===o)o=function rf(t,n,e,i,r){const o=em(),s=Wu(),l=t.data[n]=function NM(t,n,e,i,r,o){let s=n?n.injectorIndex:-1,a=0;return Eo()&&(a|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,e,n,i,r);return null===t.firstChild&&(t.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(t,n,e,i,r),function FE(){return te.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=e,o.value=i,o.attrs=r;const s=function xs(){const t=te.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return Pi(o,!0),o}function Zs(t,n,e,i){if(0===e)return-1;const r=n.length;for(let o=0;ove&&Z_(t,n,ve,!1),Ri(a?2:0,r),a)o.runInContext(e,i,r);else{const c=Gt(null);try{e(i,r)}finally{Gt(c)}}}finally{a&&null===n[ol]&&Y_(n,ol),Ir(s),Ri(a?3:1,r)}}function sf(t,n,e){if(Vu(n)){const i=Gt(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function sy(t,n,e,i){for(let r in t)if(t.hasOwnProperty(r)){e=null===e?{}:e;const o=t[r];null===i?ay(e,n,r,o):i.hasOwnProperty(r)&&ay(e,n,i[r],o)}return e}function ay(t,n,e,i){t.hasOwnProperty(e)?t[e].push(n,i):t[e]=[n,i]}function Un(t,n,e,i,r,o,s,a){const l=Nn(n,e);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(pf(t,e,u,i,r),Tr(n)&&function TM(t,n){const e=Bn(n,t);16&e[se]||(e[se]|=64)}(e,n.index)):3&n.type&&(i=function SM(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function uf(t,n,e,i){if(Qg()){const r=null===i?null:{"":-1},o=function RM(t,n){const e=t.directiveRegistry;let i=null,r=null;if(e)for(let o=0;o0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(t,n,i,Zs(t,e,r.hostVars,le),r)}function ki(t,n,e,i,r,o){const s=Nn(t,n);!function ff(t,n,e,i,r,o,s){if(null==o)t.removeAttribute(n,r,e);else{const a=null==s?oe(o):s(o,i||"",r);t.setAttribute(n,r,a,e)}}(n[ae],s,o,t.value,e,i,r)}function VM(t,n,e,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class t{constructor(){this.all=new Set,this.queue=new Map}create(e,i,r){const o=typeof Zone>"u"?null:Zone.current,s=new hE(e,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[e,i]of this.queue)this.queue.delete(e),i?i.run(()=>e.run()):e.run()}get isQueueEmpty(){return 0===this.queue.size}}return t.\u0275prov=z({token:t,providedIn:"root",factory:()=>new t}),t})();function Zl(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(null!==n)for(let s=0;s0){vy(t,1);const r=t[G].components;null!==r&&Dy(t,r,1)}}function Dy(t,n,e){for(let i=0;i-1&&(Dd(n,i),wl(e,i))}this._attachedToViewContainer=!1}Jm(this._lView[G],this._lView)}onDestroy(n){!function Zg(t,n){if(256==(256&t[se]))throw new F(911,!1);null===t[lr]&&(t[lr]=[]),t[lr].push(n)}(this._lView,n)}markForCheck(){Ys(this._cdRefInjectingView||this._lView)}detach(){this._lView[se]&=-129}reattach(){this._lView[se]|=128}detectChanges(){Jl(this._lView[G],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function qS(t,n){js(t,n,n[ae],2,null,null)}(this._lView[G],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=n}}class YM extends Qs{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Jl(n[G],n,n[wt],!1)}checkNoChanges(){}get context(){return null}}class wy extends zl{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=Se(n);return new ea(e,this.ngModule)}}function Cy(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class JM{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=nl(i);const r=this.injector.get(n,tf,i);return r!==tf||e===tf?r:this.parentInjector.get(n,e,i)}}class ea extends B_{get inputs(){const n=this.componentDef,e=n.inputTransforms,i=Cy(n.inputs);if(null!==e)for(const r of i)e.hasOwnProperty(r.propName)&&(r.transform=e[r.propName]);return i}get outputs(){return Cy(this.componentDef.outputs)}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function KN(t){return t.map(XN).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}create(n,e,i,r){let o=(r=r||this.ngModule)instanceof Qi?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new JM(n,o):n,a=s.get(ef,null);if(null===a)throw new F(407,!1);const u={rendererFactory:a,sanitizer:s.get(tM,null),effectManager:s.get(_y,null)},h=a.createRenderer(null,this.componentDef),g=this.componentDef.selectors[0][0]||"div",m=i?function vM(t,n,e,i){const o=i.get(j_,!1)||e===Fn.ShadowDom,s=t.selectRootElement(n,o);return function bM(t){oy(t)}(s),s}(h,i,this.componentDef.encapsulation,s):Al(h,g,function ZM(t){const n=t.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(g)),N=this.componentDef.signals?4608:this.componentDef.onPush?576:528,T=cf(0,null,null,1,0,null,null,null,null,null,null),w=Kl(null,T,null,N,null,null,u,h,s,null,null);let O,R;Zu(w);try{const L=this.componentDef;let J,xe=null;L.findHostDirectiveDefs?(J=[],xe=new Map,L.findHostDirectiveDefs(L,J,xe),J.push(L)):J=[L];const He=function eI(t,n){const e=t[G],i=ve;return t[i]=n,jo(e,i,2,"#host",null)}(w,m),At=function tI(t,n,e,i,r,o,s){const a=r[G];!function nI(t,n,e,i){for(const r of t)n.mergedAttrs=Es(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(Zl(n,n.mergedAttrs,!0),null!==e&&u_(i,e,n))}(i,t,n,s);let l=null;null!==n&&(l=F_(n,r[bo]));const c=o.rendererFactory.createRenderer(n,e);let u=16;e.signals?u=4096:e.onPush&&(u=64);const h=Kl(r,ry(e),null,u,r[t.index],t,o,c,null,null,l);return a.firstCreatePass&&df(a,t,i.length-1),Yl(r,h),r[t.index]=h}(He,m,L,J,w,u,h);R=qg(T,ve),m&&function rI(t,n,e,i){if(i)Lu(t,e,["ng-version",nM.full]);else{const{attrs:r,classes:o}=function YN(t){const n=[],e=[];let i=1,r=2;for(;i0&&c_(t,e,o.join(" "))}}(h,L,m,i),void 0!==e&&function oI(t,n,e){const i=t.projection=[];for(let r=0;r=0;i--){const r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=Es(r.hostAttrs,e=Es(e,r.hostAttrs))}}(i)}function Ql(t){return t===Ii?{}:t===Ee?[]:t}function lI(t,n){const e=t.viewQuery;t.viewQuery=e?(i,r)=>{n(i,r),e(i,r)}:n}function cI(t,n){const e=t.contentQueries;t.contentQueries=e?(i,r,o)=>{n(i,r,o),e(i,r,o)}:n}function uI(t,n){const e=t.hostBindings;t.hostBindings=e?(i,r)=>{n(i,r),e(i,r)}:n}function ec(t){return!!function mf(t){return null!==t&&("function"==typeof t||"object"==typeof t)}(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function rn(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function Te(t,n,e,i){const r=A();return rn(r,So(),n)&&(be(),ki(ct(),r,t,n,e,i)),Te}function Go(t,n,e,i){return rn(t,So(),e)?n+oe(e)+i:le}function V(t,n,e,i,r,o,s,a){const l=A(),c=be(),u=t+ve,h=c.firstCreatePass?function FI(t,n,e,i,r,o,s,a,l){const c=n.consts,u=jo(n,t,4,s||null,cr(c,a));uf(n,e,u,cr(c,l)),pl(n,u);const h=u.tView=cf(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),h.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,e,i,r,o,s):c.data[u];Pi(h,!1);const g=Hy(c,l,h,t);hl()&&xl(c,l,g,h),nn(g,l),Yl(l,l[u]=dy(g,l,g,h)),ll(h)&&af(c,l,h),null!=s&&lf(l,h,a)}let Hy=function Uy(t,n,e,i){return ur(!0),n[ae].createComment("")};function x(t,n,e){const i=A();return rn(i,So(),n)&&Un(be(),ct(),i,t,n,i[ae],e,!1),x}function wf(t,n,e,i,r){const s=r?"class":"style";pf(t,e,n.inputs[s],s,i)}function j(t,n,e,i){const r=A(),o=be(),s=ve+t,a=r[ae],l=o.firstCreatePass?function VI(t,n,e,i,r,o){const s=n.consts,l=jo(n,t,2,i,cr(s,r));return uf(n,e,l,cr(s,o)),null!==l.attrs&&Zl(l,l.attrs,!1),null!==l.mergedAttrs&&Zl(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,e,i):o.data[s],c=jy(o,r,l,a,n,t);r[s]=c;const u=ll(l);return Pi(l,!0),u_(a,c,l),32!=(32&l.flags)&&hl()&&xl(o,r,c,l),0===function SE(){return te.lFrame.elementDepthCount}()&&nn(c,r),function TE(){te.lFrame.elementDepthCount++}(),u&&(af(o,r,l),sf(o,l,r)),null!==i&&lf(r,l),j}function H(){let t=zt();Wu()?qu():(t=t.parent,Pi(t,!1));const n=t;(function IE(t){return te.skipHydrationRootTNode===t})(n)&&function RE(){te.skipHydrationRootTNode=null}(),function ME(){te.lFrame.elementDepthCount--}();const e=be();return e.firstCreatePass&&(pl(e,t),Vu(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function XE(t){return 0!=(8&t.flags)}(n)&&wf(e,n,A(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function KE(t){return 0!=(16&t.flags)}(n)&&wf(e,n,A(),n.stylesWithoutHost,!1),H}function ze(t,n,e,i){return j(t,n,e,i),H(),ze}let jy=(t,n,e,i,r,o)=>(ur(!0),Al(i,r,function um(){return te.lFrame.currentNamespace}()));function Tn(){return A()}function oc(t){return!!t&&"function"==typeof t.then}function zy(t){return!!t&&"function"==typeof t.subscribe}function ge(t,n,e,i){const r=A(),o=be(),s=zt();return function qy(t,n,e,i,r,o,s){const a=ll(i),c=t.firstCreatePass&&py(t),u=n[wt],h=hy(n);let g=!0;if(3&i.type||s){const v=Nn(i,n),N=s?s(v):v,T=h.length,w=s?R=>s(et(R[i.index])):i.index;let O=null;if(!s&&a&&(O=function zI(t,n,e,i){const r=t.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(t,n,r,i.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=o,O.__ngLastListenerFn__=o,g=!1;else{o=Ky(i,n,u,o,!1);const R=e.listen(N,r,o);h.push(o,R),c&&c.push(r,w,T,T+1)}}else o=Ky(i,n,u,o,!1);const m=i.outputs;let b;if(g&&null!==m&&(b=m[r])){const v=b.length;if(v)for(let N=0;N-1?Bn(t.index,n):n);let l=Xy(n,e,i,s),c=o.__ngNextListenerFn__;for(;c;)l=Xy(n,e,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function W(t=1){return function VE(t){return(te.lFrame.contextLView=function HE(t,n){for(;t>0;)n=n[Do],t--;return n}(t,te.lFrame.contextLView))[wt]}(t)}function WI(t,n){let e=null;const i=function GN(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let r=0;r>17&32767}function Tf(t){return 2|t}function kr(t){return(131068&t)>>2}function Mf(t,n){return-131069&t|n<<2}function If(t){return 1|t}function rv(t,n,e,i,r){const o=t[e+1],s=null===n;let a=i?fr(o):kr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=t[a+1];JI(t[a],n)&&(l=!0,t[a+1]=i?If(u):Tf(u)),a=i?fr(u):kr(u)}l&&(t[e+1]=i?Tf(o):If(o))}function JI(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Po(t,n)>=0}const kt={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ov(t){return t.substring(kt.key,kt.keyEnd)}function sv(t,n){const e=kt.textEnd;return e===n?-1:(n=kt.keyEnd=function nA(t,n,e){for(;n32;)n++;return n}(t,kt.key=n,e),Jo(t,n,e))}function Jo(t,n,e){for(;n=0;e=sv(n,e))Vn(t,ov(n),!0)}function fv(t,n){return n>=t.expandoStartIndex}function hv(t,n,e,i){const r=t.data;if(null===r[e+1]){const o=r[pn()],s=fv(t,e);_v(o,i)&&null===n&&!s&&(n=!1),n=function sA(t,n,e,i){const r=function Ku(t){const n=te.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}(t);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(e=sa(e=Af(null,t,n,e,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==r)if(e=Af(r,t,n,e,i),null===o){let l=function aA(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==kr(i))return t[fr(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=Af(null,t,n,l[1],i),l=sa(l,n.attrs,i),function lA(t,n,e,i){t[fr(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else o=function cA(t,n,e){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const g=fr(t[a+1]);t[i+1]=ac(g,a),0!==g&&(t[g+1]=Mf(t[g+1],i)),t[a+1]=function XI(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=ac(a,0),0!==a&&(t[a+1]=Mf(t[a+1],i)),a=i;else t[i+1]=ac(l,0),0===a?a=i:t[l+1]=Mf(t[l+1],i),l=i;c&&(t[i+1]=Tf(t[i+1])),rv(t,u,i,!0),rv(t,u,i,!1),function ZI(t,n,e,i,r){const o=r?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof n&&Po(o,n)>=0&&(e[i+1]=If(e[i+1]))}(n,u,t,i,o),s=ac(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,e,s,i)}}function Af(t,n,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=e[r+1];g===le&&(g=h?Ee:void 0);let m=h?ad(g,i):u===i?g:void 0;if(c&&!lc(m)&&(m=ad(l,i)),lc(m)&&(a=m,s))return a;const b=t[r+1];r=s?fr(b):kr(b)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=ad(l,i))}return a}function lc(t){return void 0!==t}function _v(t,n){return 0!=(t.flags&(n?8:16))}function Xe(t,n=""){const e=A(),i=be(),r=t+ve,o=i.firstCreatePass?jo(i,r,1,n,null):i.data[r],s=yv(i,e,o,n,t);e[r]=s,hl()&&xl(i,e,s,o),Pi(o,!1)}let yv=(t,n,e,i,r)=>(ur(!0),function Il(t,n){return t.createText(n)}(n[ae],i));function Wt(t){return Ui("",t,""),Wt}function Ui(t,n,e){const i=A(),r=Go(i,t,n,e);return r!==le&&function tr(t,n,e){const i=fl(n,t);!function Ym(t,n,e){t.setValue(n,e)}(t[ae],i,e)}(i,pn(),r),Ui}function ei(t,n,e){const i=A();return rn(i,So(),n)&&Un(be(),ct(),i,t,n,i[ae],e,!0),ei}const es="en-US";let Vv=es;function Rf(t,n,e,i,r){if(t=ie(t),Array.isArray(t))for(let o=0;o>20;if(xr(t)||!t.multi){const m=new Rs(l,r,y),b=Ff(a,n,r?u:u+g,h);-1===b?(rd(bl(c,s),o,a),Pf(o,t,n.length),n.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(m),s.push(m)):(e[b]=m,s[b]=m)}else{const m=Ff(a,n,u+g,h),b=Ff(a,n,u,u+g),N=b>=0&&e[b];if(r&&!N||!r&&!(m>=0&&e[m])){rd(bl(c,s),o,a);const T=function xO(t,n,e,i,r){const o=new Rs(t,e,y);return o.multi=[],o.index=n,o.componentProviders=0,d0(o,r,i&&!e),o}(r?OO:AO,e.length,r,i,l);!r&&N&&(e[b].providerFactory=T),Pf(o,t,n.length,0),n.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(T),s.push(T)}else Pf(o,t,m>-1?m:b,d0(e[r?b:m],l,!r&&i));!r&&i&&N&&e[b].componentProviders++}}}function Pf(t,n,e,i){const r=xr(n),o=function RT(t){return!!t.useClass}(n);if(r||o){const l=(o?ie(n.useClass):n).prototype.ngOnDestroy;if(l){const c=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function d0(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function Ff(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function IO(t,n,e){const i=be();if(i.firstCreatePass){const r=li(t);Rf(e,i.data,i.blueprint,r,!0),Rf(n,i.data,i.blueprint,r,!1)}}(i,r?r(t):t,n)}}class ts{}class RO{}class Lf extends ts{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new wy(this);const r=function kn(t,n){const e=t[_g]||null;if(!e&&!0===n)throw new Error(`Type ${Rt(t)} does not have '\u0275mod' property.`);return e}(n);this._bootstrapComponents=function er(t){return t instanceof Function?t():t}(r.bootstrap),this._r3Injector=ny(n,e,[{provide:ts,useValue:this},{provide:zl,useValue:this.componentFactoryResolver},...i],Rt(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(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Bf extends RO{constructor(n){super(),this.moduleType=n}create(n){return new Lf(this.moduleType,n,[])}}class f0 extends ts{constructor(n){super(),this.componentFactoryResolver=new wy(this),this.instance=null;const e=new Ud([...n.providers,{provide:ts,useValue:this},{provide:zl,useValue:this.componentFactoryResolver}],n.parent||Vl(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let LO=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=S_(0,e.type),r=i.length>0?function kO(t,n,e=null){return new f0({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return t.\u0275prov=z({token:t,providedIn:"environment",factory:()=>new t(B(Qi))}),t})();function ti(t){t.getStandaloneInjector=n=>n.get(LO).getOrCreateStandaloneInjector(t)}function Uf(t){return n=>{setTimeout(t,void 0,n)}}const Y=class sx extends re{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Uf(o),r&&(r=Uf(r)),s&&(s=Uf(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof me&&n.add(a),a}};function ax(){return this._results[Symbol.iterator]()}class jf{get changes(){return this._changes||(this._changes=new Y)}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 e=jf.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=ax)}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,e){return this._results.reduce(n,e)}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,e){const i=this;i.dirty=!1;const r=function Zn(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function sS(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=ux,t})();const lx=nt,cx=class extends lx{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e,null)}createEmbeddedViewImpl(n,e,i){const s=this._declarationTContainer.tView,a=Kl(this._declarationLView,s,n,4096&this._declarationLView[se]?4096:16,null,s.declTNode,null,null,null,e||null,i||null);a[Is]=this._declarationLView[this._declarationTContainer.index];const c=this._declarationLView[Ai];return null!==c&&(a[Ai]=c.createEmbeddedView(s)),gf(s,a,n),new Qs(a)}};function ux(){return hc(zt(),A())}function hc(t,n){return 4&t.type?new cx(n,t,Ho(t,n)):null}let Mn=(()=>{class t{}return t.__NG_ELEMENT_ID__=_x,t})();function _x(){return I0(zt(),A())}const yx=Mn,T0=class extends yx{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return Ho(this._hostTNode,this._hostLView)}get injector(){return new Mo(this._hostTNode,this._hostLView)}get parentInjector(){const n=id(this._hostTNode,this._hostLView);if(pm(n)){const e=yl(n,this._hostLView),i=_l(n);return new Mo(e[G].data[i+8],e)}return new Mo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=M0(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-tn}createEmbeddedView(n,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(e||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,e,i,r,o){const s=n&&!function Fs(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const v=e||{};a=v.index,i=v.injector,r=v.projectableNodes,o=v.environmentInjector||v.ngModuleRef}const l=s?n:new ea(Se(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const N=(s?c:this.parentInjector).get(Qi,null);N&&(o=N)}Se(l.componentType??{});const m=l.create(c,r,null,o);return this.insertImpl(m.hostView,a,false),m}insert(n,e){return this.insertImpl(n,e,!1)}insertImpl(n,e,i){const r=n._lView,o=r[G];if(function CE(t){return Cn(t[lt])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[lt],u=new T0(c,c[en],c[lt]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(e),a=this._lContainer;if(function KS(t,n,e,i){const r=tn+i,o=e.length;i>0&&(e[r-1][ai]=n),i0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let h=tn;h{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=ye(eb,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const r of this.appInits){const o=r();if(oc(o))e.push(o);else if(zy(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const di=new q("LocaleId",{providedIn:"root",factory:()=>ye(di,ne.Optional|ne.SkipSelf)||function Kx(){return typeof $localize<"u"&&$localize.locale||es}()});let th=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new fo(!1)}add(){this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ib(...t){}class Le{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function eR(){const t="function"==typeof Ge.requestAnimationFrame;let n=Ge[t?"requestAnimationFrame":"setTimeout"],e=Ge[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&e){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function iR(t){const n=()=>{!function nR(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ge,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,ih(t),t.isCheckStableRunning=!0,nh(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),ih(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return rb(t),e.invokeTask(r,o,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||t.shouldCoalesceRunChangeDetection)&&n(),ob(t)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return rb(t),e.invoke(r,o,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&n(),ob(t)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(t._hasPendingMicrotasks=o.microTask,ih(t),nh(t)):"macroTask"==o.change&&(t.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),t.runOutsideAngular(()=>t.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Le.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Le.isInAngularZone())throw new F(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,tR,ib,ib);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const tR={};function nh(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function ih(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function rb(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function ob(t){t._nesting--,nh(t)}class rR{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,r){return n.apply(e,i)}}const sb=new q("",{providedIn:"root",factory:ab});function ab(){const t=ye(Le);let n=!0;return function sg(...t){const n=Ka(t),e=function mN(t,n){return"number"==typeof Nu(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?$t(i[0]):tg(e)(Ds(i,n)):bs}(new qe(r=>{n=t.isStable&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks,t.runOutsideAngular(()=>{r.next(n),r.complete()})}),new qe(r=>{let o;t.runOutsideAngular(()=>{o=t.onStable.subscribe(()=>{Le.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=t.onUnstable.subscribe(()=>{Le.assertInAngularZone(),n&&(n=!1,t.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(ag()))}const lb=new q(""),gc=new q("");let sh,rh=(()=>{class t{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,sh||(function oR(t){sh=t}(r),r.addToWindow(i)),this._watchAngularEvents(),e.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:()=>{Le.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!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(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return t.\u0275fac=function(e){return new(e||t)(B(Le),B(oh),B(gc))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})(),oh=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return sh?.findTestabilityInTree(this,e,i)??null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})(),hr=null;const cb=new q("AllowMultipleToken"),ah=new q("PlatformDestroyListeners"),ub=new q("appBootstrapListener");function hb(t,n,e=[]){const i=`Platform: ${n}`,r=new q(i);return(o=[])=>{let s=lh();if(!s||s.injector.get(cb,!1)){const a=[...e,...o,{provide:r,useValue:!0}];t?t(a):function lR(t){if(hr&&!hr.get(cb,!1))throw new F(400,!1);(function db(){!function dE(t){Vg=t}(()=>{throw new F(600,!1)})})(),hr=t;const n=t.get(gb);(function fb(t){t.get(O_,null)?.forEach(e=>e())})(t)}(function pb(t=[],n){return Hn.create({name:n,providers:[{provide:Vd,useValue:"platform"},{provide:ah,useValue:new Set([()=>hr=null])},...t]})}(a,i))}return function uR(t){const n=lh();if(!n)throw new F(401,!1);return n}()}}function lh(){return hr?.get(gb)??null}let gb=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function dR(t="zone.js",n){return"noop"===t?new rR:"zone.js"===t?new Le(n):t}(i?.ngZone,function mb(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function FO(t,n,e){return new Lf(t,n,e)}(e.moduleType,this.injector,function Db(t){return[{provide:Le,useFactory:t},{provide:Ll,multi:!0,useFactory:()=>{const n=ye(hR,{optional:!0});return()=>n.initialize()}},{provide:bb,useFactory:fR},{provide:sb,useFactory:ab}]}(()=>r)),s=o.injector.get(Pr,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{mc(this._modules,o),a.unsubscribe()})}),function _b(t,n,e){try{const i=e();return oc(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(eh);return a.runInitializers(),a.donePromise.then(()=>(function Hv(t){Yn(t,"Expected localeId to be defined"),"string"==typeof t&&(Vv=t.toLowerCase().replace(/_/g,"-"))}(o.injector.get(di,es)||es),this._moduleDoBootstrap(o),o))})})}bootstrapModule(e,i=[]){const r=yb({},i);return function sR(t,n,e){const i=new Bf(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Vr);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new F(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(ah,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(B(Hn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();function yb(t,n){return Array.isArray(n)?n.reduce(yb,t):{...t,...n}}let Vr=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=ye(bb),this.zoneIsStable=ye(sb),this.componentTypes=[],this.components=[],this.isStable=ye(th).hasPendingTasks.pipe(Tu(e=>e?_o(!1):this.zoneIsStable),function lg(t,n=Si){return t=t??CN,Dt((e,i)=>{let r,o=!0;e.subscribe(st(i,s=>{const a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}(),ag()),this._injector=ye(Qi)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const r=e instanceof B_;if(!this._injector.get(eh).done)throw!r&&function Ss(t){const n=Se(t)||Qt(t)||wn(t);return null!==n&&n.standalone}(e),new F(405,!1);let s;s=r?e:this._injector.get(zl).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function aR(t){return t.isBoundToModule}(s)?void 0:this._injector.get(ts),c=s.create(Hn.NULL,[],i||s.selector,a),u=c.location.nativeElement,h=c.injector.get(lb,null);return h?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mc(this.components,c),h?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this.internalErrorHandler(e)}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;mc(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(ub,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>mc(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new F(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function mc(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const bb=new q("",{providedIn:"root",factory:()=>ye(Pr).handleError.bind(void 0)});function fR(){const t=ye(Le),n=ye(Pr);return e=>t.runOutsideAngular(()=>n.handleError(e))}let hR=(()=>{class t{constructor(){this.zone=ye(Le),this.applicationRef=ye(Vr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();let _t=(()=>{class t{}return t.__NG_ELEMENT_ID__=gR,t})();function gR(t){return function mR(t,n,e){if(Tr(t)&&!e){const i=Bn(t.index,n);return new Qs(i,i)}return 47&t.type?new Qs(n[Ct],n):null}(zt(),A(),16==(16&t))}class Eb{constructor(){}supports(n){return ec(n)}create(n){return new wR(n)}}const DR=(t,n)=>n;class wR{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||DR}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),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,e,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,o,r)):n=this._addAfter(new CR(e,i),o,r),n}_verifyReinsertion(n,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}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,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const r=null===e?this._itHead:e._next;return n._next=r,n._prev=e,null===r?this._itTail=n:r._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new Sb),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Sb),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,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class CR{constructor(n,e){this.item=n,this.trackById=e,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 NR{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,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class Sb{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new NR,this.map.set(e,i)),i.add(n)}get(n,e){const r=this.map.get(n);return r?r.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Tb(t,n,e){const i=t.previousIndex;if(null===i)return i;let r=0;return e&&i{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||Ib()),deps:[[t,new ud,new cd]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new F(901,!1)}}return t.\u0275prov=z({token:t,providedIn:"root",factory:Ib}),t})();const IR=hb(null,"core",[]);let AR=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(B(Vr))},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();function mh(t,n){const e=Se(t),i=n.elementInjector||Vl();return new ea(e).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let _h=null;function va(){return _h}class UR{}const on=new q("DocumentToken");function qb(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}class EP{constructor(n,e,i,r){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=r}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 $n=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,r){this._viewContainer=e,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new EP(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Yb(a,r)}});for(let r=0,o=i.length;r{Yb(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(y(Mn),y(nt),y(vc))},t.\u0275dir=k({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function Yb(t,n){t.context.$implicit=n.item}let Gn=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new SP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){Zb("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){Zb("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(y(Mn),y(nt))},t.\u0275dir=k({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class SP{constructor(){this.$implicit=null,this.ngIf=null}}function Zb(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Rt(n)}'.`)}let eD=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();function nD(t){return"server"===t}class rD{}class EF extends UR{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Fh extends EF{static makeCurrent(){!function HR(t){_h||(_h=t)}(new Fh)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||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,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function SF(){return Ca=Ca||document.querySelector("base"),Ca?Ca.getAttribute("href"):null}();return null==e?null:function TF(t){xc=xc||document.createElement("a"),xc.setAttribute("href",t);const n=xc.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){Ca=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return qb(document.cookie,n)}}let xc,Ca=null,IF=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const kh=new q("EventManagerPlugins");let cD=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new F(5101,!1);return this._eventNameToPlugin.set(e,i),i}}return t.\u0275fac=function(e){return new(e||t)(B(kh),B(Le))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();class uD{constructor(n){this._doc=n}}const Lh="ng-app-id";let dD=(()=>{class t{constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=nD(o),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(r=>r.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${Lh}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(e,i){const r=this.styleRef;if(r.has(e)){const o=r.get(e);return o.usage+=i,o.usage}return r.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===e)return r.delete(i),o.removeAttribute(Lh),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(Lh,this.appId),s}}addStyleToHost(e,i){const r=this.getStyleElement(e,i);e.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}}return t.\u0275fac=function(e){return new(e||t)(B(on),B(Hl),B(x_,8),B(Rr))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const Bh={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/"},Vh=/%COMP%/g,RF=new q("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function hD(t,n){return n.map(e=>e.replace(Vh,t))}let pD=(()=>{class t{constructor(e,i,r,o,s,a,l,c=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=nD(a),this.defaultRenderer=new Hh(e,s,l,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(e,i);return r instanceof mD?r.applyToHost(e):r instanceof Uh&&r.applyStyles(),r}getOrCreateRenderer(e,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,h=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new mD(l,c,i,this.appId,u,s,a,h);break;case Fn.ShadowDom:return new LF(l,c,e,i,s,a,this.nonce,h);default:o=new Uh(l,c,i,u,s,a,h)}o.onDestroy=()=>r.delete(i.id),r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return t.\u0275fac=function(e){return new(e||t)(B(cD),B(dD),B(Hl),B(RF),B(on),B(Rr),B(Le),B(x_))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();class Hh{constructor(n,e,i,r){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(Bh[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(gD(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(gD(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new F(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;const o=Bh[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const r=Bh[i];r?n.removeAttributeNS(r,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,r){r&(En.DashCase|En.Important)?n.style.setProperty(e,i,r&En.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&En.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=va().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function gD(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class LF extends Hh{constructor(n,e,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=hD(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Uh extends Hh{constructor(n,e,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r,this.rendererUsageCount=0,this.styles=l?hD(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestroy&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class mD extends Uh{constructor(n,e,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,e,i,o,s,a,l,c),this.contentAttr=function PF(t){return"_ngcontent-%COMP%".replace(Vh,t)}(c),this.hostAttr=function FF(t){return"_nghost-%COMP%".replace(Vh,t)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let BF=(()=>{class t extends uD{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const _D=["alt","control","meta","shift"],VF={"\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"},HF={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let UF=(()=>{class t extends uD{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const o=t.parseEventName(i),s=t.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>va().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),_D.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=VF[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_D.forEach(s=>{s!==r&&(0,HF[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const zF=hb(IR,"browser",[{provide:Rr,useValue:"browser"},{provide:O_,useValue:function jF(){Fh.makeCurrent()},multi:!0},{provide:on,useFactory:function GF(){return function lT(t){Md=t}(document),document},deps:[]}]),WF=new q(""),bD=[{provide:gc,useClass:class MF{addToWindow(n){Ge.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new F(5103,!1);return o},Ge.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ge.getAllAngularRootElements=()=>n.getAllRootElements(),Ge.frameworkStabilizers||(Ge.frameworkStabilizers=[]),Ge.frameworkStabilizers.push(i=>{const r=Ge.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?va().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:lb,useClass:rh,deps:[Le,oh,gc]},{provide:rh,useClass:rh,deps:[Le,oh,gc]}],DD=[{provide:Vd,useValue:"root"},{provide:Pr,useFactory:function $F(){return new Pr},deps:[]},{provide:kh,useClass:BF,multi:!0,deps:[on,Le,Rr]},{provide:kh,useClass:UF,multi:!0,deps:[on]},pD,dD,cD,{provide:ef,useExisting:pD},{provide:rD,useClass:IF,deps:[]},[]];let qF=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:Hl,useValue:e.appId}]}}}return t.\u0275fac=function(e){return new(e||t)(B(WF,12))},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[...DD,...bD],imports:[eD,AR]}),t})();typeof window<"u"&&window;let sn=(()=>{class t{constructor(){this.elementLookup=[]}findElementIndex(e){let i=-1;for(let r=0;r{});if(null==s){let a=this.initializeElementLookupDtoAll(e,i,o,r);this.elementLookup.push(a)}else null==s.tagHtml&&(s.tagHtml=r),null==s.object&&(s.object=null)}getElement(e){return this.elementLookup.find(r=>r.id==e)??null}initializeElementLookupDtoAll(e,i,r,o){return new $h(e,i,r,o)}initializeElementLookupDtoNullObject(e,i,r){return new $h(e,null,i,r)}initializeElementLookupDtoNullTagHTML(e,i,r){return new $h(e,r,i,null)}clearElementLookupDict(){this.elementLookup.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class $h{constructor(n,e,i,r){this.id=n,this.object=e,this.element=i,this.tagHtml=r}}let qt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ED(t){return Dt((n,e)=>{let o,i=null,r=!1;i=n.subscribe(st(e,void 0,void 0,s=>{o=$t(t(s,ED(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function gi(t,n){return Dt((e,i)=>{let r=0;e.subscribe(st(i,o=>t.call(n,o,r++)&&i.next(o)))})}function SD(t){return Dt((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}class Rc{}class Pc{}class ji{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof ji?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(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new ji;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof ji?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const r=("a"===n.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class nk{encodeKey(n){return TD(n)}encodeValue(n){return TD(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const rk=/%(\d[a-f0-9])/gi,ok={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function TD(t){return encodeURIComponent(t).replace(rk,(n,e)=>ok[e]??n)}function Fc(t){return`${t}`}class gr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new nk,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function ik(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],r=Array.isArray(i)?i.map(Fc):[Fc(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new gr({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}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 e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(Fc(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Fc(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class sk{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),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 MD(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function ID(t){return typeof Blob<"u"&&t instanceof Blob}function AD(t){return typeof FormData<"u"&&t instanceof FormData}class Na{constructor(n,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function ak(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new ji),this.context||(this.context=new sk),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ah.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((h,g)=>h.set(g,n.setParams[g]),c)),new Na(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Mt=(()=>((Mt=Mt||{})[Mt.Sent=0]="Sent",Mt[Mt.UploadProgress=1]="UploadProgress",Mt[Mt.ResponseHeader=2]="ResponseHeader",Mt[Mt.DownloadProgress=3]="DownloadProgress",Mt[Mt.Response=4]="Response",Mt[Mt.User=5]="User",Mt))();class Gh{constructor(n,e=200,i="OK"){this.headers=n.headers||new ji,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class zh extends Gh{constructor(n={}){super(n),this.type=Mt.ResponseHeader}clone(n={}){return new zh({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 os extends Gh{constructor(n={}){super(n),this.type=Mt.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new os({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 OD extends Gh{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 Wh(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let kc=(()=>{class t{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof Na)o=e;else{let l,c;l=r.headers instanceof ji?r.headers:new ji(r.headers),r.params&&(c=r.params instanceof gr?r.params:new gr({fromObject:r.params})),o=new Na(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=_o(o).pipe(function tk(t,n){return $(n)?mo(t,n,1):mo(t,1)}(l=>this.handler.handle(l)));if(e instanceof Na||"events"===r.observe)return s;const a=s.pipe(gi(l=>l instanceof os));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(Ut(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(Ut(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(Ut(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Ut(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new gr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,Wh(r,i))}post(e,i,r={}){return this.request("POST",e,Wh(r,i))}put(e,i,r={}){return this.request("PUT",e,Wh(r,i))}}return t.\u0275fac=function(e){return new(e||t)(B(Rc))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();function PD(t,n){return n(t)}function uk(t,n){return(e,i)=>n.intercept(e,{handle:r=>t(r,i)})}const fk=new q(""),Ea=new q(""),FD=new q("");function hk(){let t=null;return(n,e)=>{null===t&&(t=(ye(fk,{optional:!0})??[]).reduceRight(uk,PD));const i=ye(th),r=i.add();return t(n,e).pipe(SD(()=>i.remove(r)))}}let kD=(()=>{class t extends Rc{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null,this.pendingTasks=ye(th)}handle(e){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(Ea),...this.injector.get(FD,[])]));this.chain=r.reduceRight((o,s)=>function dk(t,n,e){return(i,r)=>e.runInContext(()=>n(i,o=>t(o,r)))}(o,s,this.injector),PD)}const i=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(SD(()=>this.pendingTasks.remove(i)))}}return t.\u0275fac=function(e){return new(e||t)(B(Pc),B(Qi))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const _k=/^\)\]\}',?\n/;let BD=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new F(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?Ds(i.\u0275loadImpl()):_o(null)).pipe(Tu(()=>new qe(o=>{const s=i.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((v,N)=>s.setRequestHeader(v,N.join(","))),e.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const v=e.detectContentTypeHeader();null!==v&&s.setRequestHeader("Content-Type",v)}if(e.responseType){const v=e.responseType.toLowerCase();s.responseType="json"!==v?v:"text"}const a=e.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const v=s.statusText||"OK",N=new ji(s.getAllResponseHeaders()),T=function yk(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(s)||e.url;return l=new zh({headers:N,status:s.status,statusText:v,url:T}),l},u=()=>{let{headers:v,status:N,statusText:T,url:w}=c(),O=null;204!==N&&(O=typeof s.response>"u"?s.responseText:s.response),0===N&&(N=O?200:0);let R=N>=200&&N<300;if("json"===e.responseType&&"string"==typeof O){const L=O;O=O.replace(_k,"");try{O=""!==O?JSON.parse(O):null}catch(J){O=L,R&&(R=!1,O={error:J,text:O})}}R?(o.next(new os({body:O,headers:v,status:N,statusText:T,url:w||void 0})),o.complete()):o.error(new OD({error:O,headers:v,status:N,statusText:T,url:w||void 0}))},h=v=>{const{url:N}=c(),T=new OD({error:v,status:s.status||0,statusText:s.statusText||"Unknown Error",url:N||void 0});o.error(T)};let g=!1;const m=v=>{g||(o.next(c()),g=!0);let N={type:Mt.DownloadProgress,loaded:v.loaded};v.lengthComputable&&(N.total=v.total),"text"===e.responseType&&s.responseText&&(N.partialText=s.responseText),o.next(N)},b=v=>{let N={type:Mt.UploadProgress,loaded:v.loaded};v.lengthComputable&&(N.total=v.total),o.next(N)};return s.addEventListener("load",u),s.addEventListener("error",h),s.addEventListener("timeout",h),s.addEventListener("abort",h),e.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",b)),s.send(a),o.next({type:Mt.Sent}),()=>{s.removeEventListener("error",h),s.removeEventListener("abort",h),s.removeEventListener("load",u),s.removeEventListener("timeout",h),e.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",b)),s.readyState!==s.DONE&&s.abort()}})))}}return t.\u0275fac=function(e){return new(e||t)(B(rD))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const qh=new q("XSRF_ENABLED"),VD=new q("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),HD=new q("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class UD{}let Dk=(()=>{class t{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=qb(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(B(on),B(Rr),B(VD))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();function wk(t,n){const e=t.url.toLowerCase();if(!ye(qh)||"GET"===t.method||"HEAD"===t.method||e.startsWith("http://")||e.startsWith("https://"))return n(t);const i=ye(UD).getToken(),r=ye(HD);return null!=i&&!t.headers.has(r)&&(t=t.clone({headers:t.headers.set(r,i)})),n(t)}var rt=(()=>((rt=rt||{})[rt.Interceptors=0]="Interceptors",rt[rt.LegacyInterceptors=1]="LegacyInterceptors",rt[rt.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",rt[rt.NoXsrfProtection=3]="NoXsrfProtection",rt[rt.JsonpSupport=4]="JsonpSupport",rt[rt.RequestsMadeViaParent=5]="RequestsMadeViaParent",rt[rt.Fetch=6]="Fetch",rt))();function Ur(t,n){return{\u0275kind:t,\u0275providers:n}}function Ck(...t){const n=[kc,BD,kD,{provide:Rc,useExisting:kD},{provide:Pc,useExisting:BD},{provide:Ea,useValue:wk,multi:!0},{provide:qh,useValue:!0},{provide:UD,useClass:Dk}];for(const e of t)n.push(...e.\u0275providers);return function Fd(t){return{\u0275providers:t}}(n)}const jD=new q("LEGACY_INTERCEPTOR_FN");let Ek=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[Ck(Ur(rt.LegacyInterceptors,[{provide:jD,useFactory:hk},{provide:Ea,useExisting:jD,multi:!0}]))]}),t})(),$D=(()=>{class t{constructor(e){this.http=e}load(){return this.http.get("/assets/config.json").toPromise().then(i=>(Object.assign(this,i),i))}}return t.\u0275fac=function(e){return new(e||t)(B(kc))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),GD=(()=>{class t{constructor(){this.modals=[]}registerModal(e,i){this.modals.push({key:e,modalRef:i})}removeModalByKey(e){let i=-1;for(let r=0;r=0&&delete this.modals[i],i}closeRemoveAllModals(){this.modals.forEach(e=>{e.modalRef.close()}),this.modals.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Bc=(()=>{class t{constructor(){this.contextKeyVal=[]}addContext(e,i){let r=!1;for(let o=0;o=0?this.contextKeyVal[i].value:""}clearContext(){this.contextKeyVal.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Ok{constructor(n,e){this.key=n,this.value=e}}let Sa=(()=>{class t{constructor(e){this.elementLookupService=e,this.contextMenus=[]}registerContextMenu(e,i){this.contextMenus.push({key:e,contextMenu:i}),this.elementLookupService.addElementTagHTML(e,null,i)}removeContextMenuByKey(e){let i=-1;for(let r=0;r=0&&delete this.contextMenus[i],i}retrieveContextValue(e){let i=-1;for(let r=0;r=0?this.contextMenus[i].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return t.\u0275fac=function(e){return new(e||t)(B(sn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xk=(()=>{class t{constructor(e,i,r,o,s,a){this.http=e,this.configService=i,this.modalRefService=r,this.elementLookupService=o,this.contextService=s,this.contextMenuService=a,this.backend_URI="http://localhost:8000",this.backend_URI=i.serverUrl+":"+i.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let e=qt.injector.get(zn);const i=this.http.get(this.backend_URI).pipe(ED((r,o)=>(console.error("Error occurred during the HTTP request:",r),e.postMessage("error connection"),function ek(t,n){const e=$(t)?t:()=>t,i=r=>r.error(e());return new qe(n?r=>n.schedule(i,0,r):i)}(()=>new Error(r.error)))));return i}post(e,i){let r=[];i.forEach(s=>r.push(Object.assign({},s))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",r.length>0?{function:e,context:r}:{function:e}),o}}return t.\u0275fac=function(e){return new(e||t)(B(kc),B($D),B(GD),B(sn),B(Bc),B(Sa))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),zn=(()=>{class t{constructor(e,i,r){this.httpService=e,this.httpClient=i,this.contextService=r,this.frontendJson=new re,this.menuBar=new re,this.messageLists=new re,this.contextMenus=new re,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:e=>{this.lastData=e,this.frontendJson.next(e)}})}policyPost(e){let i=this.contextService.getContext();this.httpService.post(e.policy,i).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}uncheckedPost(e){this.httpClient.post(this.backend_URI+"/backend",e).subscribe({next:i=>{this.lastData=i,this.frontendJson.next(i)}})}detectCreateMenuBar(e){"menu_bar"==e.type?this.menuBar.next(e):e.children.forEach(i=>{this.detectCreateMenuBar(i)})}getAllMessagesContextMenus(e,i,r){"message"==e.type?i.push(e):"context_menu"==e.type?r.push(e):e.children.forEach(o=>{this.getAllMessagesContextMenus(o,i,r)})}postMessage(e,i="danger"){let r=[this.getErrorMessage(e)];this.messageLists.next(r)}getErrorMessage(e,i="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:e},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:i}],when:[],children:[]}}}return t.\u0275fac=function(e){return new(e||t)(B(xk),B(kc),B(Bc))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),On=(()=>{class t{constructor(){}attrBackgroundColor(e,i){e.style.backgroundColor=i.value}attrHeight(e,i){e.style.height=i.value+"px"}attrWidth(e,i){e.style.width=i.value+"px"}setBorderHelper(e,i){let r=Number(this.findGetAttributeValue("border_width",i,"0")),o=this.findGetAttributeValue("border_color",i,"black");this.setBorder(e,r,o,"solid")}setBorder(e,i,r,o){i>0&&(e.style.border=String(i)+"px "+o+" "+r)}addAttributes(e,i){let r=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];i.forEach(o=>{let s=r.findIndex(a=>a.key==o.key);s>=0&&r[s].value(e,o)}),this.setHover(e,i)}addGeneralAttributes(e,i){this.setGrid(e,i),this.setBorderHelper(e,i)}setGrid(e,i){let r=this.findAttribute("grid_row",i),o=this.findAttribute("grid_row_span",i),s=this.findAttribute("grid_column",i),a=this.findAttribute("grid_column_span",i),l=1;null!=o&&(l=Number(o.value));let c=1;if(null!=a&&(c=Number(a.value)),null!=r){let u=Number(r.value)+1;e.style.gridRow=String(u)+"/span "+String(l)}if(null!=s){let u=Number(s.value)+1;e.style.gridColumn=String(u)+"/span "+String(c)}}setHover(e,i){let r=this.findGetAttributeValue("on_hover",i,"false"),o=this.findGetAttributeValue("on_hover_background_color",i,"white"),s=this.findGetAttributeValue("on_hover_foreground_color",i,"black"),a=this.findGetAttributeValue("on_hover_border_color",i,"white"),l=this.findGetAttributeValue("background_color",i,"white"),c=this.findGetAttributeValue("foreground_color",i,"black"),u=Number(this.findGetAttributeValue("border_width",i,"0")),h=this.findGetAttributeValue("border_color",i,"black"),g="solid";"true"==r&&(e.onmouseenter=m=>{e.style.backgroundColor=o,e.style.color=s,this.setBorder(e,u,a,g)},e.onmouseleave=m=>{e.style.backgroundColor=l,e.style.color=c,this.setBorder(e,u,h,g)})}textAttributes(e,i){}addClasses(e,i,r,o,s="class"){r.forEach(function(l){e.classList.add(l)});let a=!1;i.forEach(function(l){if(l.key==s){a=!0;let c=String(l.value);e.classList.add(c)}}),a||o.forEach(function(l){e.classList.add(l)})}setAttributesDirectly(e,i){i.forEach(r=>{e.style[r.key]=r.value})}findAttribute(e,i){let r=null,o=i.findIndex(s=>s.key==e);return o>=0&&(r=i[o]),r}findGetAttributeValue(e,i,r){let o=r,s=i.findIndex(a=>a.key==e);return s>=0&&(o=i[s].value),o}setAbsoulteRelativePositions(e,i,r){let o=Number(this.findGetAttributeValue("pos_x",r.attributes,"-1")),s=Number(this.findGetAttributeValue("pos_y",r.attributes,"-1"));o>=0&&"absstatic"==e&&(i.style.left=String(o)+"px"),o>=0&&"relstatic"==e&&(i.style.left=String(o)+"%"),s>=0&&"absstatic"==e&&(i.style.top=String(s)+"px"),s>=0&&"relstatic"==e&&(i.style.top=String(s)+"%"),(s>=0||o>=0)&&("absstatic"==e||"relstatic"==e)&&(i.style.position="absolute");let a=this.findAttribute("grid_row",r.attributes),l=this.findAttribute("grid_column",r.attributes);null==a&&"grid"==e&&(i.style.gridRow="1"),null==l&&"grid"==e&&(i.style.gridColumn="1")}setChildLayout(e,i){let r=this.findAttribute("child_layout",i),o=this.findAttribute("flex_direction",i);if(null!=r){let s=r?.value;"grid"==s?e.style.display="grid":"flex"==s?(e.style.display="flex",e.style.flexDirection=null!=o?o.value:"column"):("absstatic"==s||"relstatic"==s)&&(e.style.position="relative",e.style.display="flex")}else e.style.display="flex",e.style.flexDirection=null!=o?o.value:"column"}setVisibility(e,i){let r=this.findAttribute("visibility",i);null!=r&&("hidden"==r.value||"collapse"==r.value?e.style.visibility="collapse":("shown"==r.value||"visible"==r.value)&&(e.style.visibility="visible"))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Rk=["child"];function Pk(t,n){}let zD=(()=>{class t{constructor(e,i,r,o){this.childBearerService=e,this.cd=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let e=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(i=>{let r=this.childBearerService.bearChild(this.child,i,e);null!=r&&this.children.push(r)}),this.cd.detectChanges()}}}return t.\u0275fac=function(e){return new(e||t)(y(gu),y(_t),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-container"]],viewQuery:function(e,i){if(1&e&&ut(Rk,5,Mn),2&e){let r;ce(r=ue())&&(i.child=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(e,i){1&e&&V(0,Pk,0,0,"ng-template",null,0,In)}}),t})();function WD(t){let n=[],e="",i=0;for(let r=0;r0&&(t.preventDefault(),t.stopPropagation(),XD())}function XD(){let t=qt.injector.get(Sa),n=!1;return t.contextMenus.forEach(e=>{let i=document.getElementById(e.key);null!=i&&"block"==i.style.display&&(i.style.display="none",n=!0)}),n}function KD(t,n){let e=qt.injector.get(sn),i=t.policy;i=i.substring(1),i=i.slice(0,-1);let r=WD(i),o=r[0],s=r[1],a=r[2],l=e.getElement(o);if(null!=l){if("context_menu"==l.element.type&&null!=n)return void("visibility"!=s||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+o+","+s+","+a):function Fk(t,n){if(n.preventDefault(),n.stopPropagation(),1!=XD()&&null!=qt.injector.get(Sa).retrieveContextValue(t)&&"pageX"in n&&"pageY"in n&&"number"==typeof n.pageX&&"number"==typeof n.pageY){let r=document.getElementById(t);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=n.pageX+"px",r.style.top=n.pageY+"px"))}}(o,n));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==s&&(u=!0,c[h]={id:o,key:s,value:a});0==u&&c.push({id:o,key:s,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(s,a.replaceAll('"',"")),null!=l.tagHtml&&qt.injector.get(gu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+o+"::"+s+"::"+a),console.log(t)}function Vc(t,n){let e=qt.injector.get(Bc),i=/_context_value\(([^)]*)\)/;n&&(i=/_context_value_optional\(([^)]*)\)/);let r=i.exec(t);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},o=r[1],s=e.retrieveContextValue(o);if(0==s.length&&!n)throw new Error("Missing required value for "+o);!a(s)&&s.length>0&&s[0]===s[0].toUpperCase()&&'"'!=s[0]&&(s='"'+s+'"'),t=t.replace(i,s),r=i.exec(t)}return t}function YD(t,n){let e=qt.injector.get(zn),i=t.policy;i=Vc(i,!0),i=Vc(i,!1),t.policy=i,e.policyPost(t)}function ZD(t,n){let e=qt.injector.get(Bc),i=t.policy;if(i=Vc(i,!0),i=Vc(i,!1),"("==i[0]){i=i.substring(1),i=i.slice(0,-1);let s=WD(i);if(s.length>=2){s.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(t));let a=s[0],l=s[1];if(null!=n){let u=n.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{class t{constructor(e){this.frontendService=e,document.onclick=qD,document.oncontextmenu=qD}findCallback(e,i){let r=null,o=i.findIndex(s=>s.actionType==e);return o>=0&&(r=i[o]),r}setCallbacks(e,i){this.handleEvent(e,i,"click","click"),this.handleEvent(e,i,"input","input"),this.handleEvent(e,i,"right_click","contextmenu"),this.handleEvent(e,i,"mouseenter","mouseenter"),this.handleEvent(e,i,"mouseleave","mouseleave"),this.handleEvent(e,i,"load","load"),this.handleEvent(e,i,"dblclick","dblclick")}handleEvent(e,i,r="",o=""){let s=[];if(i.forEach(a=>{a.actionType==r&&s.push(a)}),console.log("Handle event"),s.length>0&&""!=o){if("load"==r)return console.log("Load"),void s.forEach(a=>{if("context"==a.interactionType&&ZD(a,null),"update"==a.interactionType&&KD(a,null),"call"==a.interactionType||"callback"==a.interactionType){console.log("call");try{YD(a)}catch(l){qt.injector.get(zn).postMessage(l.message,"warning")}}});"click"==r&&(e.style.cursor="pointer"),e.addEventListener(o,function(a){s.sort(function(h,g){return h.interactionTypeg.interactionType?-1:0});const l=s.filter(h=>"update"==h.interactionType),c=s.filter(h=>"context"==h.interactionType),u=s.filter(h=>"call"==h.interactionType||"callback"==h.interactionType);l.forEach(h=>{try{KD(h,a)}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}}),c.forEach(h=>{try{ZD(h,a)}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}}),u.length>1&&(u[0].policy="("+u.map(h=>h.policy).join(",")+")"),u.forEach(h=>{try{YD(u[0])}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}})})}}}return t.\u0275fac=function(e){return new(e||t)(B(zn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const{isArray:kk}=Array;function JD(t){return Ut(n=>function Lk(t,n){return kk(n)?t(...n):t(n)}(t,n))}const Bk=["addListener","removeListener"],Vk=["addEventListener","removeEventListener"],Hk=["on","off"];function Xt(t,n,e,i){if($(e)&&(i=e,e=void 0),i)return Xt(t,n,e).pipe(JD(i));const[r,o]=function $k(t){return $(t.addEventListener)&&$(t.removeEventListener)}(t)?Vk.map(s=>a=>t[s](n,a,e)):function Uk(t){return $(t.addListener)&&$(t.removeListener)}(t)?Bk.map(QD(t,n)):function jk(t){return $(t.on)&&$(t.off)}(t)?Hk.map(QD(t,n)):[];if(!r&&Cu(t))return mo(s=>Xt(s,n,e))($t(t));if(!r)throw new TypeError("Invalid event target");return new qe(s=>{const a=(...l)=>s.next(1o(a)})}function QD(t,n){return e=>i=>t[e](n,i)}class Gk extends me{constructor(n,e){super()}schedule(n,e=0){return this}}const Hc={setInterval(t,n,...e){const{delegate:i}=Hc;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=Hc;return(n?.clearInterval||clearInterval)(t)},delegate:void 0},e1={now:()=>(e1.delegate||Date).now(),delegate:void 0};class Ta{constructor(n,e=Ta.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}Ta.now=e1.now;const t1=new class Wk extends Ta{constructor(n,e=Ta.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}(class zk extends Gk{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return Hc.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&Hc.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,Be(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}),qk=t1;function n1(t=0,n,e=qk){let i=-1;return null!=n&&(ng(n)?e=n:i=n),new qe(r=>{let o=function Xk(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}const{isArray:Kk}=Array;function i1(t){return 1===t.length&&Kk(t[0])?t[0]:t}function r1(...t){return 1===(t=i1(t)).length?$t(t[0]):new qe(function Yk(t){return n=>{let e=[];for(let i=0;e&&!n.closed&&i{if(e){for(let o=0;o{let r=e.map(()=>[]),o=e.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bs}function Uc(...t){return function Zk(){return tg(1)}()(Ds(t,Ka(t)))}function It(t){return Dt((n,e)=>{$t(t).subscribe(st(e,()=>e.complete(),vt)),!e.closed&&n.subscribe(e)})}function mi(t){return t<=0?()=>bs:Dt((n,e)=>{let i=0;n.subscribe(st(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}function o1(t,n,e){const i=$(t)||n||e?{next:t,error:n,complete:e}:t;return i?Dt((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(st(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Si}function Kh(...t){const n=Eu(t);return Dt((e,i)=>{const r=t.length,o=new Array(r);let s=t.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Si))&&(s=null))},vt));e.subscribe(st(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}function s1(t,n){return n?e=>Uc(n.pipe(mi(1),function Qk(){return Dt((t,n)=>{t.subscribe(st(n,vt))})}()),e.pipe(s1(t))):mo((e,i)=>$t(t(e,i)).pipe(mi(1),function eL(t){return Ut(()=>t)}(e)))}const{isArray:rL}=Array,{getPrototypeOf:oL,prototype:sL,keys:aL}=Object;function uL(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}let a1=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(y(Jn),y(ke))},t.\u0275dir=k({type:t}),t})(),jr=(()=>{class t extends a1{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,features:[Oe]}),t})();const ri=new q("NgValueAccessor"),fL={provide:ri,useExisting:de(()=>Yh),multi:!0};let Yh=(()=>{class t extends jr{writeValue(e){this.setProperty("checked",e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(e,i){1&e&&ge("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[We([fL]),Oe]}),t})();const hL={provide:ri,useExisting:de(()=>jc),multi:!0},gL=new q("CompositionEventMode");let jc=(()=>{class t extends a1{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function pL(){const t=va()?va().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(y(Jn),y(ke),y(gL,8))},t.\u0275dir=k({type:t,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(e,i){1&e&&ge("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[We([hL]),Oe]}),t})();const Kt=new q("NgValidators"),_r=new q("NgAsyncValidators");function _1(t){return null!=t}function y1(t){return oc(t)?Ds(t):t}function v1(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function b1(t,n){return n.map(e=>e(t))}function D1(t){return t.map(n=>function _L(t){return!t.validate}(n)?n:e=>n.validate(e))}function Zh(t){return null!=t?function w1(t){if(!t)return null;const n=t.filter(_1);return 0==n.length?null:function(e){return v1(b1(e,n))}}(D1(t)):null}function C1(t){if(!t)return null;const n=t.filter(_1);return 0==n.length?null:function(e){return function dL(...t){const n=Eu(t),{args:e,keys:i}=function lL(t){if(1===t.length){const n=t[0];if(rL(n))return{args:n,keys:null};if(function cL(t){return t&&"object"==typeof t&&oL(t)===sL}(n)){const e=aL(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}(t),r=new qe(o=>{const{length:s}=e;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||o.next(i?uL(i,a):a),o.complete())}))}});return n?r.pipe(JD(n)):r}(b1(e,n).map(y1)).pipe(Ut(v1))}}function Jh(t){return null!=t?C1(D1(t)):null}function N1(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function E1(t){return t._rawValidators}function S1(t){return t._rawAsyncValidators}function Qh(t){return t?Array.isArray(t)?t:[t]:[]}function Gc(t,n){return Array.isArray(t)?t.includes(n):t===n}function T1(t,n){const e=Qh(n);return Qh(t).forEach(r=>{Gc(e,r)||e.push(r)}),e}function M1(t,n){return Qh(n).filter(e=>!Gc(t,e))}class I1{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=Zh(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Jh(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=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class _n extends I1{get formDirective(){return null}get path(){return null}}class yr extends I1{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class A1{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 O1=(()=>{class t extends A1{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(y(yr,2))},t.\u0275dir=k({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&Ne("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[Oe]}),t})(),x1=(()=>{class t extends A1{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(y(_n,10))},t.\u0275dir=k({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&Ne("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[Oe]}),t})();const Ma="VALID",Wc="INVALID",ss="PENDING",Ia="DISABLED";function np(t){return(qc(t)?t.validators:t)||null}function ip(t,n){return(qc(n)?n.asyncValidators:t)||null}function qc(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function P1(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new F(1e3,"");if(!i[e])throw new F(1001,"")}function F1(t,n,e){t._forEachChild((i,r)=>{if(void 0===e[r])throw new F(1002,"")})}class Xc{constructor(n,e){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(e)}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===Ma}get invalid(){return this.status===Wc}get pending(){return this.status==ss}get disabled(){return this.status===Ia}get enabled(){return this.status!==Ia}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(T1(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(T1(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(M1(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(M1(n,this._rawAsyncValidators))}hasValidator(n){return Gc(this._rawValidators,n)}hasAsyncValidator(n){return Gc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){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(e=>{e.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(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ss,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Ia,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Ma,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!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===Ma||this.status===ss)&&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(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ia:Ma}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ss,this._hasOwnPendingAsyncValidator=!0;const e=y1(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}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 Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ia:this.errors?Wc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ss)?ss:this._anyControlsHaveStatus(Wc)?Wc:Ma}_anyControlsHaveStatus(n){return this._anyControls(e=>e.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){qc(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 DL(t){return Array.isArray(t)?Zh(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function wL(t){return Array.isArray(t)?Jh(t):t||null}(this._rawAsyncValidators)}}class $r extends Xc{constructor(n,e,i){super(np(e),ip(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){F1(this,0,n),Object.keys(n).forEach(i=>{P1(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_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}}class k1 extends $r{}const Gr=new q("CallSetDisabledState",{providedIn:"root",factory:()=>Aa}),Aa="always";function Oa(t,n,e=Aa){rp(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function NL(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&L1(t,n)})}(t,n),function SL(t,n){const e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function EL(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&L1(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function CL(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Yc(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Jc(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Zc(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function rp(t,n){const e=E1(t);null!==n.validator?t.setValidators(N1(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=S1(t);null!==n.asyncValidator?t.setAsyncValidators(N1(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();Zc(n._rawValidators,r),Zc(n._rawAsyncValidators,r)}function Jc(t,n){let e=!1;if(null!==t){if(null!==n.validator){const r=E1(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(null!==n.asyncValidator){const r=S1(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}const i=()=>{};return Zc(n._rawValidators,i),Zc(n._rawAsyncValidators,i),e}function L1(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function H1(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function U1(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const zr=class extends Xc{constructor(n=null,e,i){super(np(e),ip(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),qc(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=U1(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){H1(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){H1(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){U1(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}};let W1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=k({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),X1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const cp=new q("NgModelWithFormControlWarning"),HL={provide:_n,useExisting:de(()=>Qc)};let Qc=(()=>{class t extends _n{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Jc(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return Oa(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Yc(e.control||null,e,!1),function AL(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function V1(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(Yc(i||null,e),(t=>t instanceof zr)(r)&&(Oa(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function B1(t,n){rp(t,n)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function TL(t,n){return Jc(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){rp(this.form,this),this._oldForm&&Jc(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(y(Kt,10),y(_r,10),y(Gr,8))},t.\u0275dir=k({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&ge("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[We([HL]),Oe,un]}),t})();const $L={provide:yr,useExisting:de(()=>fp)};let fp=(()=>{class t extends yr{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function ap(t,n){if(!n)return null;let e,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===jc?e=o:function IL(t){return Object.getPrototypeOf(t.constructor)===jr}(o)?i=o:r=o}),r||i||e||null}(0,o)}ngOnChanges(e){this._added||this._setUpControl(),function sp(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return function Kc(t,n){return[...n.path,t]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(y(_n,13),y(Kt,10),y(_r,10),y(ri,10),y(cp,8))},t.\u0275dir=k({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[We([$L]),Oe,un]}),t})();const GL={provide:ri,useExisting:de(()=>eu),multi:!0};function Q1(t,n){return null==t?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${t}: ${n}`.slice(0,50))}let eu=(()=>{class t extends jr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){this.value=e;const r=Q1(this._getOptionId(e),e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){const i=function zL(t){return t.split(":")[0]}(e);return this._optionMap.has(i)?this._optionMap.get(i):e}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(e,i){1&e&&ge("change",function(o){return i.onChange(o.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},features:[We([GL]),Oe]}),t})(),ew=(()=>{class t{constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(Q1(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn),y(eu,9))},t.\u0275dir=k({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const WL={provide:ri,useExisting:de(()=>hp),multi:!0};function tw(t,n){return null==t?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${t}: ${n}`.slice(0,50))}let hp=(()=>{class t extends jr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){let i;if(this.value=e,Array.isArray(e)){const r=e.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{const r=[],o=i.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a{class t{constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){null!=this._select&&(this._value=e,this._setElementValue(tw(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(tw(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn),y(hp,9))},t.\u0275dir=k({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),fw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[X1]}),t})();class hw extends Xc{constructor(n,e,i){super(np(e),ip(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){F1(this,0,n),n.forEach((i,r)=>{P1(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function pw(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let n2=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const r=this._reduceControls(e);let o={};return pw(i)?o=i:null!==i&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new $r(r,o)}record(e,i=null){const r=this._reduceControls(e);return new k1(r,i)}control(e,i,r){let o={};return this.useNonNullable?(pw(i)?o=i:(o.validators=i,o.asyncValidators=r),new zr(e,{...o,nonNullable:!0})):new zr(e,i,r)}array(e,i,r){const o=e.map(s=>this._createControl(s));return new hw(o,i,r)}_reduceControls(e){const i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){return e instanceof zr||e instanceof Xc?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),i2=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Gr,useValue:e.callSetDisabledState??Aa}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[fw]}),t})(),r2=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:cp,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Gr,useValue:e.callSetDisabledState??Aa}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[fw]}),t})();var o2={left:"right",right:"left",bottom:"top",top:"bottom"};function tu(t){return t.replace(/left|right|bottom|top/g,function(n){return o2[n]})}function Gi(t){return t.split("-")[0]}var s2={start:"end",end:"start"};function gw(t){return t.replace(/start|end/g,function(n){return s2[n]})}var Wn="top",_i="bottom",yi="right",qn="left",gp="auto",Ra=[Wn,_i,yi,qn],as="start",Pa="end",mw="viewport",Fa="popper",_w=Ra.reduce(function(t,n){return t.concat([n+"-"+as,n+"-"+Pa])},[]),yw=[].concat(Ra,[gp]).reduce(function(t,n){return t.concat([n,n+"-"+as,n+"-"+Pa])},[]),y2=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Xn(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function qr(t){return t instanceof Xn(t).Element||t instanceof Element}function oi(t){return t instanceof Xn(t).HTMLElement||t instanceof HTMLElement}function mp(t){return!(typeof ShadowRoot>"u")&&(t instanceof Xn(t).ShadowRoot||t instanceof ShadowRoot)}function vr(t){return((qr(t)?t.ownerDocument:t.document)||window.document).documentElement}var Xr=Math.max,nu=Math.min,ls=Math.round;function _p(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(n){return n.brand+"/"+n.version}).join(" "):navigator.userAgent}function vw(){return!/^((?!chrome|android).)*safari/i.test(_p())}function cs(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var i=t.getBoundingClientRect(),r=1,o=1;n&&oi(t)&&(r=t.offsetWidth>0&&ls(i.width)/t.offsetWidth||1,o=t.offsetHeight>0&&ls(i.height)/t.offsetHeight||1);var a=(qr(t)?Xn(t):window).visualViewport,l=!vw()&&e,c=(i.left+(l&&a?a.offsetLeft:0))/r,u=(i.top+(l&&a?a.offsetTop:0))/o,h=i.width/r,g=i.height/o;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function yp(t){var n=Xn(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function vp(t){return cs(vr(t)).left+yp(t).scrollLeft}function ir(t){return Xn(t).getComputedStyle(t)}function zi(t){return t?(t.nodeName||"").toLowerCase():null}function iu(t){return"html"===zi(t)?t:t.assignedSlot||t.parentNode||(mp(t)?t.host:null)||vr(t)}function bp(t){var n=ir(t);return/auto|scroll|overlay|hidden/.test(n.overflow+n.overflowY+n.overflowX)}function bw(t){return["html","body","#document"].indexOf(zi(t))>=0?t.ownerDocument.body:oi(t)&&bp(t)?t:bw(iu(t))}function ka(t,n){var e;void 0===n&&(n=[]);var i=bw(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=Xn(i),s=r?[o].concat(o.visualViewport||[],bp(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(ka(iu(s)))}function D2(t){return["table","td","th"].indexOf(zi(t))>=0}function Dw(t){return oi(t)&&"fixed"!==ir(t).position?t.offsetParent:null}function La(t){for(var n=Xn(t),e=Dw(t);e&&D2(e)&&"static"===ir(e).position;)e=Dw(e);return e&&("html"===zi(e)||"body"===zi(e)&&"static"===ir(e).position)?n:e||function w2(t){var n=/firefox/i.test(_p());if(/Trident/i.test(_p())&&oi(t)&&"fixed"===ir(t).position)return null;var r=iu(t);for(mp(r)&&(r=r.host);oi(r)&&["html","body"].indexOf(zi(r))<0;){var o=ir(r);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||n&&"filter"===o.willChange||n&&o.filter&&"none"!==o.filter)return r;r=r.parentNode}return null}(t)||n}function ww(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&mp(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Dp(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Cw(t,n,e){return n===mw?Dp(function v2(t,n){var e=Xn(t),i=vr(t),r=e.visualViewport,o=i.clientWidth,s=i.clientHeight,a=0,l=0;if(r){o=r.width,s=r.height;var c=vw();(c||!c&&"fixed"===n)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:o,height:s,x:a+vp(t),y:l}}(t,e)):qr(n)?function C2(t,n){var e=cs(t,!1,"fixed"===n);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(n,e):Dp(function b2(t){var n,e=vr(t),i=yp(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=Xr(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Xr(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+vp(t),l=-i.scrollTop;return"rtl"===ir(r||e).direction&&(a+=Xr(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}(vr(t)))}function us(t){return t.split("-")[1]}function wp(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Nw(t){var l,n=t.reference,e=t.element,i=t.placement,r=i?Gi(i):null,o=i?us(i):null,s=n.x+n.width/2-e.width/2,a=n.y+n.height/2-e.height/2;switch(r){case Wn:l={x:s,y:n.y-e.height};break;case _i:l={x:s,y:n.y+n.height};break;case yi:l={x:n.x+n.width,y:a};break;case qn:l={x:n.x-e.width,y:a};break;default:l={x:n.x,y:n.y}}var c=r?wp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(o){case as:l[c]=l[c]-(n[u]/2-e[u]/2);break;case Pa:l[c]=l[c]+(n[u]/2-e[u]/2)}}return l}function Sw(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Tw(t,n){return n.reduce(function(e,i){return e[i]=t,e},{})}function Cp(t,n){void 0===n&&(n={});var i=n.placement,r=void 0===i?t.placement:i,o=n.strategy,s=void 0===o?t.strategy:o,a=n.boundary,l=void 0===a?"clippingParents":a,c=n.rootBoundary,u=void 0===c?mw:c,h=n.elementContext,g=void 0===h?Fa:h,m=n.altBoundary,b=void 0!==m&&m,v=n.padding,N=void 0===v?0:v,T=Sw("number"!=typeof N?N:Tw(N,Ra)),O=t.rects.popper,R=t.elements[b?g===Fa?"reference":Fa:g],L=function E2(t,n,e,i){var r="clippingParents"===n?function N2(t){var n=ka(iu(t)),i=["absolute","fixed"].indexOf(ir(t).position)>=0&&oi(t)?La(t):t;return qr(i)?n.filter(function(r){return qr(r)&&ww(r,i)&&"body"!==zi(r)}):[]}(t):[].concat(n),o=[].concat(r,[e]),a=o.reduce(function(l,c){var u=Cw(t,c,i);return l.top=Xr(u.top,l.top),l.right=nu(u.right,l.right),l.bottom=nu(u.bottom,l.bottom),l.left=Xr(u.left,l.left),l},Cw(t,o[0],i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(qr(R)?R:R.contextElement||vr(t.elements.popper),l,u,s),J=cs(t.elements.reference),xe=Nw({reference:J,element:O,strategy:"absolute",placement:r}),He=Dp(Object.assign({},O,xe)),At=g===Fa?He:J,Vt={top:L.top-At.top+T.top,bottom:At.bottom-L.bottom+T.bottom,left:L.left-At.left+T.left,right:At.right-L.right+T.right},an=t.modifiersData.offset;if(g===Fa&&an){var Di=an[r];Object.keys(Vt).forEach(function(vn){var no=[yi,_i].indexOf(vn)>=0?1:-1,io=[Wn,_i].indexOf(vn)>=0?"y":"x";Vt[vn]+=Di[io]*no})}return Vt}const I2={name:"flip",enabled:!0,phase:"main",fn:function M2(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,l=e.fallbackPlacements,c=e.padding,u=e.boundary,h=e.rootBoundary,g=e.altBoundary,m=e.flipVariations,b=void 0===m||m,v=e.allowedAutoPlacements,N=n.options.placement,T=Gi(N),O=l||(T!==N&&b?function T2(t){if(Gi(t)===gp)return[];var n=tu(t);return[gw(t),n,gw(n)]}(N):[tu(N)]),R=[N].concat(O).reduce(function(gs,br){return gs.concat(Gi(br)===gp?function S2(t,n){void 0===n&&(n={});var r=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?yw:l,u=us(n.placement),h=u?a?_w:_w.filter(function(b){return us(b)===u}):Ra,g=h.filter(function(b){return c.indexOf(b)>=0});0===g.length&&(g=h);var m=g.reduce(function(b,v){return b[v]=Cp(t,{placement:v,boundary:r,rootBoundary:o,padding:s})[Gi(v)],b},{});return Object.keys(m).sort(function(b,v){return m[b]-m[v]})}(n,{placement:br,boundary:u,rootBoundary:h,padding:c,flipVariations:b,allowedAutoPlacements:v}):br)},[]),L=n.rects.reference,J=n.rects.popper,xe=new Map,He=!0,At=R[0],Vt=0;Vt=0,io=no?"width":"height",Kn=Cp(n,{placement:an,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),wi=no?vn?yi:qn:vn?_i:Wn;L[io]>J[io]&&(wi=tu(wi));var mu=tu(wi),ro=[];if(o&&ro.push(Kn[Di]<=0),a&&ro.push(Kn[wi]<=0,Kn[mu]<=0),ro.every(function(gs){return gs})){At=an,He=!1;break}xe.set(an,ro)}if(He)for(var jp=function(br){var qa=R.find(function(vu){var oo=xe.get(vu);if(oo)return oo.slice(0,br).every(function($p){return $p})});if(qa)return At=qa,"break"},Wa=b?3:1;Wa>0&&"break"!==jp(Wa);Wa--);n.placement!==At&&(n.modifiersData[i]._skip=!0,n.placement=At,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ba(t,n,e){return Xr(t,nu(n,e))}function Np(t){var n=cs(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}const R2={name:"preventOverflow",enabled:!0,phase:"main",fn:function x2(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,g=e.tether,m=void 0===g||g,b=e.tetherOffset,v=void 0===b?0:b,N=Cp(n,{boundary:e.boundary,rootBoundary:e.rootBoundary,padding:e.padding,altBoundary:e.altBoundary}),T=Gi(n.placement),w=us(n.placement),O=!w,R=wp(T),L=function A2(t){return"x"===t?"y":"x"}(R),J=n.modifiersData.popperOffsets,xe=n.rects.reference,He=n.rects.popper,At="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,Vt="number"==typeof At?{mainAxis:At,altAxis:At}:Object.assign({mainAxis:0,altAxis:0},At),an=n.modifiersData.offset?n.modifiersData.offset[n.placement]:null,Di={x:0,y:0};if(J){if(o){var vn,no="y"===R?Wn:qn,io="y"===R?_i:yi,Kn="y"===R?"height":"width",wi=J[R],mu=wi+N[no],ro=wi-N[io],_u=m?-He[Kn]/2:0,jp=w===as?xe[Kn]:He[Kn],Wa=w===as?-He[Kn]:-xe[Kn],yu=n.elements.arrow,gs=m&&yu?Np(yu):{width:0,height:0},br=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},qa=br[no],vu=br[io],oo=Ba(0,xe[Kn],gs[Kn]),$p=O?xe[Kn]/2-_u-oo-qa-Vt.mainAxis:jp-oo-qa-Vt.mainAxis,hj=O?-xe[Kn]/2+_u+oo+vu+Vt.mainAxis:Wa+oo+vu+Vt.mainAxis,Gp=n.elements.arrow&&La(n.elements.arrow),pj=Gp?"y"===R?Gp.clientTop||0:Gp.clientLeft||0:0,GC=null!=(vn=an?.[R])?vn:0,mj=wi+hj-GC,zC=Ba(m?nu(mu,wi+$p-GC-pj):mu,wi,m?Xr(ro,mj):ro);J[R]=zC,Di[R]=zC-wi}if(a){var WC,so=J[L],bu="y"===L?"height":"width",qC=so+N["x"===R?Wn:qn],XC=so-N["x"===R?_i:yi],zp=-1!==[Wn,qn].indexOf(T),KC=null!=(WC=an?.[L])?WC:0,YC=zp?qC:so-xe[bu]-He[bu]-KC+Vt.altAxis,ZC=zp?so+xe[bu]+He[bu]-KC-Vt.altAxis:XC,JC=m&&zp?function O2(t,n,e){var i=Ba(t,n,e);return i>e?e:i}(YC,so,ZC):Ba(m?YC:qC,so,m?ZC:XC);J[L]=JC,Di[L]=JC-so}n.modifiersData[i]=Di}},requiresIfExists:["offset"]},L2={name:"arrow",enabled:!0,phase:"main",fn:function F2(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=Gi(e.placement),l=wp(a),u=[qn,yi].indexOf(a)>=0?"height":"width";if(o&&s){var h=function(n,e){return Sw("number"!=typeof(n="function"==typeof n?n(Object.assign({},e.rects,{placement:e.placement})):n)?n:Tw(n,Ra))}(r.padding,e),g=Np(o),m="y"===l?Wn:qn,b="y"===l?_i:yi,v=e.rects.reference[u]+e.rects.reference[l]-s[l]-e.rects.popper[u],N=s[l]-e.rects.reference[l],T=La(o),w=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=w/2-g[u]/2+(v/2-N/2),xe=Ba(h[m],J,w-g[u]-h[b]);e.modifiersData[i]=((n={})[l]=xe,n.centerOffset=xe-J,n)}},effect:function k2(t){var n=t.state,i=t.options.element,r=void 0===i?"[data-popper-arrow]":i;null!=r&&("string"==typeof r&&!(r=n.elements.popper.querySelector(r))||ww(n.elements.popper,r)&&(n.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U2(t,n,e){void 0===e&&(e=!1);var i=oi(n),r=oi(n)&&function H2(t){var n=t.getBoundingClientRect(),e=ls(n.width)/t.offsetWidth||1,i=ls(n.height)/t.offsetHeight||1;return 1!==e||1!==i}(n),o=vr(n),s=cs(t,r,e),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!e)&&(("body"!==zi(n)||bp(o))&&(a=function V2(t){return t!==Xn(t)&&oi(t)?function B2(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}(t):yp(t)}(n)),oi(n)?((l=cs(n,!0)).x+=n.clientLeft,l.y+=n.clientTop):o&&(l.x=vp(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function j2(t){var n=new Map,e=new Set,i=[];function r(o){e.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(a){if(!e.has(a)){var l=n.get(a);l&&r(l)}}),i.push(o)}return t.forEach(function(o){n.set(o.name,o)}),t.forEach(function(o){e.has(o.name)||r(o)}),i}function G2(t){var n;return function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(t())})})),n}}var Mw={placement:"bottom",modifiers:[],strategy:"absolute"};function Iw(){for(var t=arguments.length,n=new Array(t),e=0;e=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[qn,yi].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(h,n.rects,o),u},{}),a=s[n.placement],c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=a.x,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}};function gB(t,n){if(1&t){const e=Tn();j(0,"button",1),ge("click",function(){return dn(e),fn(W().close())}),H()}}const Ow=["*"],zB=["dialog"];function Kr(t){return"string"==typeof t}function Yr(t){return null!=t}function ds(t){return(t||document.body).getBoundingClientRect()}function kw(t=document){const n=t?.activeElement;return n?n.shadowRoot?kw(n.shadowRoot):n:null}const Lw={animation:!0,transitionTimerDelayMs:5},LV=()=>{},{transitionTimerDelayMs:BV}=Lw,Va=new Map,yn=(t,n,e,i)=>{let r=i.context||{};const o=Va.get(n);if(o)switch(i.runningTransition){case"continue":return bs;case"stop":t.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Va.delete(n)}const s=e(n,i.animation,r)||LV;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return t.run(()=>s()),_o(void 0).pipe(function FV(t){return n=>new qe(e=>n.subscribe({next:s=>t.run(()=>e.next(s)),error:s=>t.run(()=>e.error(s)),complete:()=>t.run(()=>e.complete())}))}(t));const a=new re,l=new re,c=a.pipe(function Jk(...t){return n=>Uc(n,_o(...t))}(!0));Va.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function kV(t){const{transitionDelay:n,transitionDuration:e}=window.getComputedStyle(t);return 1e3*(parseFloat(n)+parseFloat(e))}(n);return t.runOutsideAngular(()=>{const h=Xt(n,"transitionend").pipe(It(c),gi(({target:m})=>m===n));r1(n1(u+BV).pipe(It(c)),h,l).pipe(It(c)).subscribe(()=>{Va.delete(n),t.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Ha=(()=>{class t{constructor(){this.animation=Lw.animation}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ww=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const qV=({classList:t})=>{t.remove("show")};let XV=(()=>{class t{constructor(e){this._ngbConfig=e,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(e){this._animation=e}}return t.\u0275fac=function(e){return new(e||t)(B(Ha))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),KV=(()=>{class t{constructor(e,i,r,o){this._renderer=i,this._element=r,this._zone=o,this.closed=new Y,this.dismissible=e.dismissible,this.type=e.type,this.animation=e.animation}close(){const e=yn(this._zone,this._element.nativeElement,qV,{animation:this.animation,runningTransition:"continue"});return e.subscribe(()=>this.closed.emit()),e}ngOnChanges(e){const i=e.type;i&&!i.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${i.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${i.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return t.\u0275fac=function(e){return new(e||t)(y(XV),y(Jn),y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(e,i){2&e&&Ne("fade",i.animation)("alert-dismissible",i.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[un,ti],ngContentSelectors:Ow,decls:2,vars:1,consts:function(){let n;return n=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",n,3,"click",4,"ngIf"],["type","button","aria-label",n,1,"btn-close",3,"click"]]},template:function(e,i){1&e&&(Ef(),Sf(0),V(1,gB,1,0,"button",0)),2&e&&(P(1),x("ngIf",i.dismissible))},dependencies:[Gn],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),qw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),Kw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),Ap=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();var X=(()=>((X=X||{})[X.Tab=9]="Tab",X[X.Enter=13]="Enter",X[X.Escape=27]="Escape",X[X.Space=32]="Space",X[X.PageUp=33]="PageUp",X[X.PageDown=34]="PageDown",X[X.End=35]="End",X[X.Home=36]="Home",X[X.ArrowLeft=37]="ArrowLeft",X[X.ArrowUp=38]="ArrowUp",X[X.ArrowRight=39]="ArrowRight",X[X.ArrowDown=40]="ArrowDown",X))();const cu=(t,n)=>!!n&&n.some(e=>e.contains(t)),eC=(t,n)=>!n||null!=function PV(t,n){return!n||typeof t.closest>"u"?null:t.closest(n)}(t,n),mH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function tC(t,n,e,i,r,o,s,a){e&&t.runOutsideAngular((t=>mH?()=>setTimeout(()=>t(),100):t)(()=>{const c=Xt(n,"keydown").pipe(It(r),gi(g=>g.which===X.Escape),o1(g=>g.preventDefault())),u=Xt(n,"mousedown").pipe(Ut(g=>{const m=g.target;return 2!==g.button&&!cu(m,s)&&("inside"===e?cu(m,o)&&eC(m,a):"outside"===e?!cu(m,o):eC(m,a)||!cu(m,o))}),It(r)),h=Xt(n,"mouseup").pipe(Kh(u),gi(([g,m])=>m),function tL(t,n=t1){const e=n1(t,n);return s1(()=>e)}(0),It(r));r1([c.pipe(Ut(g=>0)),h.pipe(Ut(g=>1))]).subscribe(g=>t.run(()=>i(g)))}))}const nC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function iC(t){const n=Array.from(t.querySelectorAll(nC)).filter(e=>-1!==e.tabIndex);return[n[0],n[n.length-1]]}let yH=(()=>{class t{constructor(e){this._element=e.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const vH=/\s+/,bH=/ +/gi,DH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},CH=/^left/,NH=/^right/,EH=/^start/,SH=/^end/;function oC({placement:t,baseClass:n},e){let i=Array.isArray(t)?t:t.split(vH),o=i.findIndex(c=>"auto"===c);o>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==i.find(u=>-1!==u.search("^"+c))&&i.splice(o++,1,c)});const s=i.map(c=>function wH(t,n){const[e,i]=DH[t];return n&&i||e}(c,e.isRTL()));return{placement:s.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!n,phase:"write",fn({state:c}){const u=new RegExp(n+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let m=h.className;m=m.replace(u,""),m+=` ${function TH(t,n){let[e,i]=n.split("-");const r=e.replace(CH,"start").replace(NH,"end");let o=[r];if(i){let s=i;("left"===e||"right"===e)&&(s=s.replace(EH,"top").replace(SH,"bottom")),o.push(`${r}-${s}`)}return t&&(o=o.map(s=>`${t}-${s}`)),o.join(" ")}(n,g)}`,m=m.trim().replace(bH," "),h.className=m}},I2,R2,L2,{enabled:!0,name:"flip",options:{fallbackPlacements:s}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function sC(t){return t}new Date(1882,10,12),new Date(2174,10,25);let mC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),BH=(()=>{class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=e=>e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Vp=(()=>{class t{set disabled(e){this._disabled=""===e||!0===e,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(e,i){this.elementRef=e,this._renderer=i,this._disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(e,i){2&e&&(ei("tabIndex",i.disabled?-1:0),Ne("disabled",i.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),Hp=(()=>{class t{constructor(e,i){this.dropdown=e,this.placement="bottom",this.isOpen=!1,this.nativeElement=i.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(e,i,r){if(1&e&&mt(r,Vp,4),2&e){let o;ce(o=ue())&&(i.menuItems=o)}},hostVars:4,hostBindings:function(e,i){1&e&&ge("keydown.ArrowUp",function(o){return i.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return i.dropdown.onKeyDown(o)})("keydown.Home",function(o){return i.dropdown.onKeyDown(o)})("keydown.End",function(o){return i.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return i.dropdown.onKeyDown(o)})("keydown.Space",function(o){return i.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return i.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return i.dropdown.onKeyDown(o)}),2&e&&Ne("dropdown-menu",!0)("show",i.dropdown.isOpen())},standalone:!0}),t})(),hu=(()=>{class t{constructor(e,i){this.dropdown=e,this.nativeElement=i.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(e,i){2&e&&Te("aria-expanded",i.dropdown.isOpen())},standalone:!0}),t})(),_C=(()=>{class t extends hu{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(e,i){1&e&&ge("click",function(){return i.dropdown.toggle()})("keydown.ArrowUp",function(o){return i.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return i.dropdown.onKeyDown(o)})("keydown.Home",function(o){return i.dropdown.onKeyDown(o)})("keydown.End",function(o){return i.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return i.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return i.dropdown.onKeyDown(o)}),2&e&&Te("aria-expanded",i.dropdown.isOpen())},standalone:!0,features:[We([{provide:hu,useExisting:de(()=>t)}]),Oe]}),t})(),Ga=(()=>{class t{constructor(e,i,r,o,s,a){this._changeDetector=e,this._document=r,this._ngZone=o,this._elementRef=s,this._renderer=a,this._destroyCloseHandlers$=new re,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=i.placement,this.popperOptions=i.popperOptions,this.container=i.container,this.autoClose=i.autoClose,this._positioning=function aC(){const t=ye(yH);let n=null;return{createPopper(e){if(!n){let r=(e.updatePopperOptions||sC)(oC(e,t));n=rB(e.hostElement,e.targetElement,r)}},update(){n&&n.update()},setOptions(e){if(n){let r=(e.updatePopperOptions||sC)(oC(e,t));n.setOptions(r)}},destroy(){n&&(n.destroy(),n=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(mi(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(e){if(e.container&&this._open&&this._applyContainer(this.container),e.placement&&!e.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),e.dropdownClass){const{currentValue:i,previousValue:r}=e.dropdownClass;this._applyCustomDropdownClass(i,r)}e.autoClose&&this._open&&(this.autoClose=e.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:e=>this.popperOptions(function cC(t){return n=>(n.modifiers.push(aB,{name:"offset",options:{offset:()=>t}}),n)}([0,2])(e))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),tC(this._ngZone,this._document,this.autoClose,e=>{this.close(),0===e&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(e){const i=e.which,r=this._getMenuElements();let o=-1,s=null;const a=this._isEventFromToggle(e);if(!a&&r.length&&r.forEach((l,c)=>{l.contains(e.target)&&(s=l),l===kw(this._document)&&(o=c)}),i!==X.Space&&i!==X.Enter){if(i!==X.Tab){if(a||s){if(this.open(),r.length){switch(i){case X.ArrowDown:o=Math.min(o+1,r.length-1);break;case X.ArrowUp:if(this._isDropup()&&-1===o){o=r.length-1;break}o=Math.max(o-1,0);break;case X.Home:o=0;break;case X.End:o=r.length-1}r[o].focus()}e.preventDefault()}}else if(e.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===e.target)return void("body"!==this.container||e.shiftKey?e.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const l=this._menu.nativeElement.querySelectorAll(nC);e.shiftKey&&e.target===l[0]?(this._anchor.nativeElement.focus(),e.preventDefault()):!e.shiftKey&&e.target===l[l.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Xt(e.target,"focusout").pipe(mi(1)).subscribe(({relatedTarget:l})=>{this._elementRef.nativeElement.contains(l)||this.close()})}}else s&&(!0===this.autoClose||"inside"===this.autoClose)&&Xt(s,"click").pipe(mi(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(e){return this._anchor.nativeElement.contains(e.target)}_getMenuElements(){const e=this._menu;return null==e?[]:e.menuItems.filter(i=>!i.disabled).map(i=>i.elementRef.nativeElement)}_positionMenu(){const e=this._menu;this.isOpen()&&e&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(e){return Array.isArray(e)?e[0]:e.split(" ")[0]}_resetContainer(){const e=this._renderer;this._menu&&e.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(e.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(e=null){if(this._resetContainer(),"body"===e){const i=this._renderer,r=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||i.createElement("div");i.setStyle(o,"position","absolute"),i.setStyle(r,"position","static"),i.setStyle(o,"z-index","1055"),i.appendChild(o,r),i.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(e,i){const r="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;r&&(i&&this._renderer.removeClass(r,i),e&&this._renderer.addClass(r,e))}_applyPlacementClasses(e){const i=this._menu;if(i){e||(e=this._getFirstPlacement(this.placement));const r=this._renderer,o=this._elementRef.nativeElement;r.removeClass(o,"dropup"),r.removeClass(o,"dropdown");const{nativeElement:s}=i;"static"===this.display?(i.placement=null,r.setAttribute(s,"data-bs-popper","static")):(i.placement=e,r.removeAttribute(s,"data-bs-popper"));const a=-1!==e.search("^top")?"dropup":"dropdown";r.addClass(o,a);const l=this._bodyContainer;l&&(r.removeClass(l,"dropup"),r.removeClass(l,"dropdown"),r.addClass(l,a))}}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(BH),y(on),y(Le),y(ke),y(Jn))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdown",""]],contentQueries:function(e,i,r){if(1&e&&(mt(r,Hp,5),mt(r,hu,5)),2&e){let o;ce(o=ue())&&(i._menu=o.first),ce(o=ue())&&(i._anchor=o.first)}},hostVars:2,hostBindings:function(e,i){2&e&&Ne("show",i.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[un]}),t})(),yC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();class to{constructor(n,e,i){this.nodes=n,this.viewRef=e,this.componentRef=i}}let VH=(()=>{class t{constructor(e,i){this._el=e,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(mi(1)).subscribe(()=>{yn(this._zone,this._el.nativeElement,(e,i)=>{i&&ds(e),e.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return yn(this._zone,this._el.nativeElement,({classList:e})=>e.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(e,i){2&e&&(Lr("modal-backdrop"+(i.backdropClass?" "+i.backdropClass:"")),Ne("show",!i.animation)("fade",i.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[ti],decls:0,vars:0,template:function(e,i){},encapsulation:2}),t})();class vC{update(n){}close(n){}dismiss(n){}}const HH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],UH=["animation","backdropClass"];class jH{_applyWindowOptions(n,e){HH.forEach(i=>{Yr(e[i])&&(n[i]=e[i])})}_applyBackdropOptions(n,e){UH.forEach(i=>{Yr(e[i])&&(n[i]=e[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(It(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(It(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,e,i,r){this._windowCmptRef=n,this._contentRef=e,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new re,this._dismissed=new re,this._hidden=new re,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const e=this._beforeDismiss();!function Rw(t){return t&&t.then}(e)?!1!==e&&this._dismiss(n):e.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),e=this._backdropCmptRef?this._backdropCmptRef.instance.hide():_o(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),e.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Xh(n,e).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var bi=(()=>((bi=bi||{})[bi.BACKDROP_CLICK=0]="BACKDROP_CLICK",bi[bi.ESC=1]="ESC",bi))();let $H=(()=>{class t{constructor(e,i,r){this._document=e,this._elRef=i,this._zone=r,this._closed$=new re,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new re,this.hidden=new re}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Kr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(e){this.dismissEvent.emit(e)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(mi(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:e}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Xh(yn(this._zone,e,()=>e.classList.remove("show"),i),yn(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const e={animation:this.animation,runningTransition:"continue"};Xh(yn(this._zone,this._elRef.nativeElement,(o,s)=>{s&&ds(o),o.classList.add("show")},e),yn(this._zone,this._dialogEl.nativeElement,()=>{},e)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:e}=this._elRef;this._zone.runOutsideAngular(()=>{Xt(e,"keydown").pipe(It(this._closed$),gi(r=>r.which===X.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(bi.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;Xt(this._dialogEl.nativeElement,"mousedown").pipe(It(this._closed$),o1(()=>i=!1),Tu(()=>Xt(e,"mouseup").pipe(It(this._closed$),mi(1))),gi(({target:r})=>e===r)).subscribe(()=>{i=!0}),Xt(e,"click").pipe(It(this._closed$)).subscribe(({target:r})=>{e===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(bi.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:e}=this._elRef;if(!e.contains(document.activeElement)){const i=e.querySelector("[ngbAutofocus]"),r=iC(e)[0];(i||r||e).focus()}}_restoreFocus(){const e=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&e.contains(i)?i:e,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&yn(this._zone,this._elRef.nativeElement,({classList:e})=>(e.add("modal-static"),()=>e.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return t.\u0275fac=function(e){return new(e||t)(y(on),y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-modal-window"]],viewQuery:function(e,i){if(1&e&&ut(zB,7),2&e){let r;ce(r=ue())&&(i._dialogEl=r.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(e,i){2&e&&(Te("aria-modal",!0)("aria-labelledby",i.ariaLabelledBy)("aria-describedby",i.ariaDescribedBy),Lr("modal d-block"+(i.windowClass?" "+i.windowClass:"")),Ne("fade",i.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[ti],ngContentSelectors:Ow,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(e,i){1&e&&(Ef(),j(0,"div",0,1)(2,"div",2),Sf(3),H()()),2&e&&Lr("modal-dialog"+(i.size?" modal-"+i.size:"")+(i.centered?" modal-dialog-centered":"")+i.fullscreenClass+(i.scrollable?" modal-dialog-scrollable":"")+(i.modalDialogClass?" "+i.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),GH=(()=>{class t{constructor(e){this._document=e}hide(){const e=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(e>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+e}px`}return r.overflow="hidden",()=>{e>0&&(r.paddingRight=s),r.overflow=o}}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),zH=(()=>{class t{constructor(e,i,r,o,s,a,l){this._applicationRef=e,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new re,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((t,n,e,i=!1)=>{t.runOutsideAngular(()=>{const r=Xt(n,"focusin").pipe(It(e),Ut(o=>o.target));Xt(n,"keydown").pipe(It(e),gi(o=>o.which===X.Tab),Kh(r)).subscribe(([o,s])=>{const[a,l]=iC(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&Xt(n,"click").pipe(It(e),Kh(r),Ut(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const e=this._scrollBarRestoreFn;e&&(this._scrollBarRestoreFn=null,e())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(e,i,r){const o=r.container instanceof HTMLElement?r.container:Yr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new vC,l=(e=r.injector||e).get(Qi,null)||this._environmentInjector,c=this._getContentRef(e,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,h=this._attachWindowComponent(o,c.nodes),g=new jH(h,c,u,r.beforeDismiss);return this._registerModalRef(g),this._registerWindowCmpt(h),g.hidden.pipe(mi(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=m=>{g.close(m)},a.dismiss=m=>{g.dismiss(m)},a.update=m=>{g.update(m)},g.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),h.changeDetectorRef.detectChanges(),g}get activeInstances(){return this._activeInstances}dismissAll(e){this._modalRefs.forEach(i=>i.dismiss(e))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(e){let i=mh(VH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),e.appendChild(i.location.nativeElement),i}_attachWindowComponent(e,i){let r=mh($H,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),e.appendChild(r.location.nativeElement),r}_getContentRef(e,i,r,o,s){return r?r instanceof nt?this._createFromTemplateRef(r,o):Kr(r)?this._createFromString(r):this._createFromComponent(e,i,r,o,s):new to([])}_createFromTemplateRef(e,i){const o=e.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new to([o.rootNodes],o)}_createFromString(e){const i=this._document.createTextNode(`${e}`);return new to([[i]])}_createFromComponent(e,i,r,o,s){const l=mh(r,{environmentInjector:i,elementInjector:Hn.create({providers:[{provide:vC,useValue:o}],parent:e})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new to([[c]],l.hostView,l)}_setAriaHidden(e){const i=e.parentElement;i&&e!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==e&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((e,i)=>{e?i.setAttribute("aria-hidden",e):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(e){const i=()=>{const r=this._modalRefs.indexOf(e);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(e),this._activeInstances.emit(this._modalRefs),e.result.then(i,i)}_registerWindowCmpt(e){this._windowCmpts.push(e),this._activeWindowCmptHasChanged.next(),e.onDestroy(()=>{const i=this._windowCmpts.indexOf(e);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}}return t.\u0275fac=function(e){return new(e||t)(B(Vr),B(Hn),B(Qi),B(on),B(GH),B(ef),B(Le))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),WH=(()=>{class t{constructor(e){this._ngbConfig=e,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(e){this._animation=e}}return t.\u0275fac=function(e){return new(e||t)(B(Ha))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),bC=(()=>{class t{constructor(e,i,r){this._injector=e,this._modalStack=i,this._config=r}open(e,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,e,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(e){this._modalStack.dismissAll(e)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return t.\u0275fac=function(e){return new(e||t)(B(Hn),B(zH),B(WH))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),DC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[bC]}),t})(),NC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),xC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),PC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),FC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),kC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),LC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),BC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),VC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),HC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();new q("live announcer delay",{providedIn:"root",factory:function uU(){return 100}});let UC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),jC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const dU=[Ww,qw,Kw,Ap,mC,yC,DC,NC,jC,xC,PC,FC,kC,LC,BC,VC,HC,UC];let fU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[dU,Ww,qw,Kw,Ap,mC,yC,DC,NC,jC,xC,PC,FC,kC,LC,BC,VC,HC,UC]}),t})();const hU=["ddbut"];function pU(t,n){if(1&t&&(j(0,"button",8),ze(1,"i",null,9),Xe(3),H()),2&t){const e=n.$implicit;jn("id",e.element.id),P(3),Wt(e.label)}}let gU=(()=>{class t{constructor(e,i,r,o,s,a){this.attributeService=e,this.cd=i,this.frontendService=r,this.elementLookupService=s,this.callbackHelperService=a,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(e=>{let i=this.attributeService.findGetAttributeValue("label",e.attributes,""),r=new mU(i,e);this.elementLookupService.addElementObject(e.id,r,e),this.dropDownMenuItems.push(r),this.cd.detectChanges();let o=document.getElementById(e.id);if(null!=o){r.setHtmlElement(o),r.setAttributes(e.attributes),this.callbackHelperService.setCallbacks(o,e.when);let s=o.children.item(0);null!=s&&this.attributeService.addClasses(s,e.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(e){let i=this.attributeService.findAttribute("selected",e);null!=i&&(this.buttonLabel=i.value);let r=this.ddbut.nativeElement;this.attributeService.addAttributes(r,e),this.attributeService.textAttributes(r,e),this.attributeService.setAttributesDirectly(r,e),this.attributeService.addClasses(r,e,["btn"],["btn-outline-dark"]),r.style.border_color=this.attributeService.findGetAttributeValue("border_color",e,"black"),this.cd.detectChanges()}onClick(e){this.frontendService.policyPost(e.when[0])}}return t.\u0275fac=function(e){return new(e||t)(y(On),y(_t),y(zn),y(on),y(sn),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-dropdown-menu"]],viewQuery:function(e,i){if(1&e&&ut(hU,7),2&e){let r;ce(r=ue())&&(i.ddbut=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(e,i){1&e&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),Xe(6),H(),j(7,"div",6),V(8,pU,4,2,"button",7),H()()()()()),2&e&&(P(4),jn("id",null==i.element?null:i.element.id),P(2),Ui(" ",i.buttonLabel," "),P(2),x("ngForOf",i.dropDownMenuItems))},dependencies:[$n,Ga,_C,Hp,Vp]}),t})();class mU{constructor(n,e){this.htmlElement=null,this.label=n,this.element=e}setHtmlElement(n){this.htmlElement=n}setAttributes(n){if(null!=this.htmlElement){let e=qt.injector.get(On);e.addAttributes(this.htmlElement,n),e.textAttributes(this.htmlElement,n),e.setAttributesDirectly(this.htmlElement,n),e.addClasses(this.htmlElement,n,["dropdown-item"],[])}}}const _U=["label"],yU=["middleDiv"],vU=["outerDiv"];let bU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("label",e);null!=i&&(this.elementLabel=i.value);let r=this.label.nativeElement,o=this.middleDiv.nativeElement,s=this.outerDiv.nativeElement;this.attributeService.addAttributes(r,e),this.attributeService.textAttributes(r,e),this.attributeService.setAttributesDirectly(r,e),this.attributeService.addClasses(r,e,[],[]),this.setOuterDivStyles(s),this.setMiddleDivStyle(o),this.setParagraphStyle(r),this.cd.detectChanges()}setOuterDivStyles(e){e.style.display="table",e.style.minHeight="100%",e.style.minWidth="100%",e.style.overflow="hidden"}setMiddleDivStyle(e){e.style.minWidth="100%",e.style.display="table-row"}setParagraphStyle(e){e.style.display="table-cell",e.style.verticalAlign="middle",e.style.textAlign="center"}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-label"]],viewQuery:function(e,i){if(1&e&&(ut(_U,7),ut(yU,7),ut(vU,7)),2&e){let r;ce(r=ue())&&(i.label=r.first),ce(r=ue())&&(i.middleDiv=r.first),ce(r=ue())&&(i.outerDiv=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(e,i){1&e&&(j(0,"div",null,0)(2,"div",null,1),ze(4,"p",2,3),H()()),2&e&&(P(4),x("innerHTML",i.elementLabel,D_))}}),t})();const DU=["theButton"];let wU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(e){this.buttonLabel=this.attributeService.findGetAttributeValue("label",e,"");let i=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(i,e),this.attributeService.addAttributes(i,e),this.attributeService.textAttributes(i,e),this.attributeService.addClasses(i,e,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(i,e),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,i,this.element);let r=i.children.item(0);this.attributeService.addClasses(r,e,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",e,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-button"]],viewQuery:function(e,i){if(1&e&&ut(DU,5),2&e){let r;ce(r=ue())&&(i.theButton=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(e,i){1&e&&(j(0,"button",0,1),ze(2,"i",null,2),Xe(4),H()),2&e&&(Te("disabled",!!i.disabledAttribute||null),P(4),Wt(i.buttonLabel))}}),t})();var CU=Ue(7);const NU=["theImage"],EU=["svgContainer"];function SU(t,n){if(1&t&&(j(0,"div"),ze(1,"img",1,2),H()),2&t){const e=W();P(1),x("src",e.imageSource,Pd)}}function TU(t,n){1&t&&ze(0,"div",null,3)}let MU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let e=this.attributeService.findAttribute("image",this.element.attributes),i=this.attributeService.findAttribute("image_type",this.element.attributes);null!=e&&null!=i&&i.value.startsWith("clingraph")?this.svgImageHandler(this.element,e,i):this.defaultImageHandler(this.element,e),this.cd.detectChanges()}}setAttributes(e){console.log("TODO?")}svgImageHandler(e,i,r){const s=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let a=CU.lW.from(i.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=a,this.cd.detectChanges();let l=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),c=[];e.children.forEach(h=>{let g=this.attributeService.findAttribute("clingraph_id",h.attributes);if(null!=g){let m=g.value;if("svg_edge"==h.type){const b=m.match(s);if(b){m=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let v=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");c.push({key:v,value:h})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",m)}c.push({key:m,value:h})}});let u=this.generateSvgNodeUiNodeAssociationList(l,c);this.addEventListeners(u),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(e,i){let r=[];return e.forEach(o=>{let s=null;i.forEach(a=>{if(o.id==a.key)s=a.value;else for(const l of Array.from(o.children))"title"==l.tagName&&l.innerHTML==a.key&&(s=a.value)}),null!=s?(this.elementLookupService.addElementTagHTML(s.id,o,s),r.push({svg:o,ui:s})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),r}addEventListeners(e){e.forEach(i=>{this.callbackService.setCallbacks(i.svg,i.ui.when)})}defaultImageHandler(e,i){this.imageType="normal",this.cd.detectChanges();let r=this.theImage.nativeElement;this.attributeService.addAttributes(r,e.attributes),this.attributeService.textAttributes(r,e.attributes),this.attributeService.setAttributesDirectly(r,e.attributes),this.callbackService.setCallbacks(r,e.when);let o=this.attributeService.findAttribute("image_path",e.attributes);null!=i?this.imageSource="data:image/png;base64,"+i.value:null!=o&&(this.imageSource=o.value)}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-canvas"]],viewQuery:function(e,i){if(1&e&&(ut(NU,5),ut(EU,5)),2&e){let r;ce(r=ue())&&(i.theImage=r.first),ce(r=ue())&&(i.svgContainer=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(e,i){1&e&&(V(0,SU,3,1,"div",0),V(1,TU,2,0,"div",0)),2&e&&(x("ngIf","normal"==i.imageType),P(1),x("ngIf","svg"==i.imageType))},dependencies:[Gn]}),t})(),IU=(()=>{class t{constructor(){}toUserInputASP(e,i,r,o,s){return`user_input(${e},${i},${r},${o},${s})`}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const AU=["svgContainer"];function OU(t,n){if(1&t&&ze(0,"textarea",13),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("formControlName",e.name)}}function xU(t,n){if(1&t){const e=Tn();j(0,"input",14),ge("click",function(r){return dn(e),fn(W(2).checkClick(r))}),H()}if(2&t){const e=W().$implicit,i=W();jn("id",e.name+"_checkbox_"+i.currID),x("formControlName",e.name)}}function RU(t,n){if(1&t&&ze(0,"input",15),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("type",e.type)("formControlName",e.name)}}function PU(t,n){if(1&t&&(j(0,"option",17),Xe(1),H()),2&t){const e=n.$implicit;jn("value",e),P(1),Wt(e)}}function FU(t,n){if(1&t&&(j(0,"select",13),V(1,PU,2,2,"option",16),H()),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("formControlName",e.name),P(1),x("ngForOf",i.retrieveSelectOptions(e))}}function kU(t,n){if(1&t&&(j(0,"div")(1,"label"),Xe(2),H(),ze(3,"br"),V(4,OU,1,2,"textarea",10),V(5,xU,1,2,"input",11),V(6,RU,1,3,"input",12),V(7,FU,2,3,"select",10),H()),2&t){const e=n.$implicit;P(2),Wt(e.name),P(2),x("ngIf","textarea"==e.type),P(1),x("ngIf","checkbox"==e.type),P(1),x("ngIf","textarea"!=e.type&&"checkbox"!=e.type&&"select"!=e.type),P(1),x("ngIf","select"==e.type)}}function LU(t,n){if(1&t&&(j(0,"h2",18),Xe(1),H()),2&t){const e=W();P(1),Wt(e.errStr)}}function BU(t,n){1&t&&(j(0,"h2"),Xe(1,"No graph was created from your request."),H())}let VU=(()=>{class t{constructor(e,i,r,o,s){this.attributeService=e,this.frontendService=i,this.fb=r,this.cd=o,this.aspService=s,this.element=null,this.optionsForm=new $r({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let e=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=e){let i=e;this.svgString=i.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=i.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(e){return"options"in e?e.options:[]}handleNodeClick(e){console.log("clicked");let i=e.target,r=i.parentNode;if(console.log(i),console.log(r),null!==r&&"g"==r.nodeName){console.log("past first");let o=r.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const s=o.textContent;null!==s&&""!==s&&(r.id.startsWith("node")?(console.log("clicked node with ID: ",s),this.type="node",this.updateOptions(s,"node")):i.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(s,"edge")))}}}checkClick(e){console.log("clicked box");let i=e.target;console.log(i.getAttribute("value")),console.log(i.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(e,i){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=e;let r=this.nodeOptionsList.filter(o=>o.id==e&&o.compType==i);if(1!=r.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${e} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${e} in the options list!`;else{this.optionsList=r.map(s=>s.options).flat();let o=new $r({});this.optionsList.forEach(s=>{o.addControl(s.name,new zr("checkbox"==s.type?"true"==s.state||1==s.state:s.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let e=[],i=this.optionsForm.value;console.log("Form: ",i),this.optionsList.forEach(s=>{s.state=i[s.name]}),this.nodeOptionsList.forEach(s=>{s.options.forEach(a=>{e.push(this.aspService.toUserInputASP(s.compType,s.id,a.type,a.name,a.state))})});let o={function:`graphUpdate(${e.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return t.\u0275fac=function(e){return new(e||t)(y(On),y(zn),y(n2),y(_t),y(IU))},t.\u0275cmp=Qe({type:t,selectors:[["app-main-page"]],viewQuery:function(e,i){if(1&e&&ut(AU,5),2&e){let r;ce(r=ue())&&(i.svgContainer=r.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(e,i){1&e&&(j(0,"div",0)(1,"div",1)(2,"label"),Xe(3,"OPTIONS"),H(),ze(4,"br"),j(5,"form",2),ge("ngSubmit",function(){return i.submitForm()}),V(6,kU,8,5,"div",3),ze(7,"input",4),H()(),j(8,"div",5),V(9,LU,2,1,"h2",6),j(10,"div",7,8),ge("click",function(o){return i.handleNodeClick(o)}),H(),V(12,BU,2,0,"h2",9),H()()),2&e&&(P(5),x("formGroup",i.optionsForm),P(1),x("ngForOf",i.optionsList),P(3),x("ngIf",i.errStr.length>0),P(3),x("ngIf",i.svgString.length<=0))},dependencies:[$n,Gn,W1,ew,nw,jc,Yh,eu,O1,x1,Qc,fp],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const HU=["theTextfield"];let UU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(e){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",e,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",e,"text");let i=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(i,e),this.attributeService.addAttributes(i,e),this.attributeService.textAttributes(i,e),this.attributeService.addGeneralAttributes(i,e),this.attributeService.addClasses(i,e,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,i,this.element);let r=this.attributeService.findGetAttributeValue("disabled",e,"false");"false"==r?this.disabledAttribute=!1:"true"==r?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(r),this.disabledAttribute=!1),this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-textfield"]],viewQuery:function(e,i){if(1&e&&ut(HU,5),2&e){let r;ce(r=ue())&&(i.theTextfield=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(e,i){1&e&&(j(0,"div",0),ze(1,"input",1,2),H()),2&e&&(P(1),jn("type",i.inputType),x("placeholder",i.placeholder),Te("disabled",!!i.disabledAttribute||null))}}),t})();const jU=["child"],$U=["content"];function GU(t,n){if(1&t){const e=Tn();j(0,"div",1)(1,"h4",2),Xe(2),H(),j(3,"button",3),ge("click",function(){return fn(dn(e).$implicit.dismiss("Cross click"))}),H()(),j(4,"div",4),ze(5,"app-container",5),H()}if(2&t){const e=W();P(2),Wt(e.modalTitle),P(3),x("element",e.element)("parentLayout",e.parentLayout)}}let $C=(()=>{class t{constructor(e,i,r,o,s,a){this.childBearerService=e,this.cd=i,this.attributeService=r,this.elementLookupService=o,this.modalService=s,this.modalRefService=a,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("visible",e),r=this.attributeService.findAttribute("title",e),o=this.attributeService.findAttribute("size",e);if(null!=r&&(this.modalTitle=r.value),null!=i&&null!=this.element){if("shown"!=i.value&&"visible"!=i.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==i.value||"collapse"==i.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let s=null;s=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,s),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(a=>{if(this.closeResult=`Closed with: ${a}`,null!=this.element)for(let l=0;l{if(this.closeResult=`Dismissed ${this.getDismissReason(a)}`,null!=this.element)for(let l=0;l{class t{constructor(){}componentCreation(e,i){let r=[{key:"container",value:zD},{key:"dropdown_menu",value:gU},{key:"label",value:bU},{key:"button",value:wU},{key:"canvas",value:MU},{key:"clingraph_interactive",value:VU},{key:"textfield",value:UU},{key:"modal",value:$C}],o=null,s=r.findIndex(a=>a.key==i);return s>=0&&(o=e.createComponent(r[s].value)),null==o&&"menu_bar"!=i&&"context_menu"!=i&&"message"!=i&&console.log("Could not associate component key with an component: "+i),o}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),gu=(()=>{class t{constructor(e,i,r){this.componentService=e,this.elementLookupService=i,this.attributeService=r}bearChild(e,i,r){let o=this.componentService.componentCreation(e,i.type);if(null!=o){o.setInput("element",i),o.setInput("parentLayout",r);let s=o.location.nativeElement;s.id=i.id,this.elementLookupService.addElementTagHTML(i.id,s,i),this.setAllTagAttributes(s,i,r)}return o}setAllTagAttributes(e,i,r){"button"!=i.type&&this.attributeService.setAbsoulteRelativePositions(r,e,i),this.setChildTagAttributes(e,i)}setChildTagAttributes(e,i){this.attributeService.setAttributesDirectly(e,i.attributes),this.attributeService.addGeneralAttributes(e,i.attributes),this.attributeService.addAttributes(e,i.attributes),"container"==i.type&&(this.attributeService.setChildLayout(e,i.attributes),this.attributeService.setVisibility(e,i.attributes),this.attributeService.addClasses(e,i.attributes,[],["p-2"]))}}return t.\u0275fac=function(e){return new(e||t)(B(zU),B(sn),B(On))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function WU(t,n){if(1&t){const e=Tn();j(0,"ngb-alert",1),ge("closed",function(){return dn(e),fn(W().messageClosed())}),j(1,"strong"),Xe(2),H(),Xe(3),H()}if(2&t){const e=W();x("type",e.attrType)("dismissible",!0),P(2),Wt(e.attrTitle),P(1),Ui(" ",e.attrMessage,"\n")}}let qU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findGetAttributeValue("type",e,"warning"),r=this.attributeService.findGetAttributeValue("title",e,""),o=this.attributeService.findGetAttributeValue("message",e,"");this.visible=this.attributeService.findGetAttributeValue("visible",e,"shown"),"error"==i&&(i="danger"),this.attrType=i,this.attrTitle=r,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(e,i){1&e&&V(0,WU,4,4,"ngb-alert",0),2&e&&x("ngIf","shown"==i.visible)},dependencies:[Gn,KV]}),t})();function XU(t,n){if(1&t&&(j(0,"li",2)(1,"a"),ze(2,"i",3),Xe(3),H()()),2&t){const e=n.$implicit;x("id",e.id),P(3),Wt(e.text)}}let KU=(()=>{class t{constructor(e,i,r){this.cd=e,this.attributeService=i,this.callbackService=r,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(e=>{let i=e.id,r=this.attributeService.findGetAttributeValue("label",e.attributes,"");this.buttonList.push({id:i,text:r,attributes:e.attributes})}),this.cd.detectChanges(),this.element.children.forEach(e=>{let i=document.getElementById(e.id);null!=i&&this.callbackService.setCallbacks(i,e.when)}),this.cd.detectChanges(),this.buttonList.forEach(e=>{let i=document.getElementById(e.id);if(null!=i){this.attributeService.addClasses(i,e.attributes,["list-group-item","list-group-item-action"],[]);let r=i.children.item(0);if(null!=r){let o=r.children.item(0);null!=o&&this.attributeService.addClasses(o,e.attributes,["fa"],[],"icon")}}}))}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(On),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(e,i){1&e&&(j(0,"ul",0),V(1,XU,4,2,"li",1),H()),2&e&&(P(1),x("ngForOf",i.buttonList))},dependencies:[$n],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const YU=["parent"],ZU=["child"];function JU(t,n){}function QU(t,n){1&t&&(j(0,"div",3,4),V(2,JU,0,0,"ng-template",null,5,In),H()),2&t&&jn("id",W().window_id)}function ej(t,n){1&t&&ze(0,"app-message",8),2&t&&x("element",n.$implicit)}function tj(t,n){if(1&t&&(j(0,"div",6),V(1,ej,1,1,"app-message",7),H()),2&t){const e=W();P(1),x("ngForOf",e.messageList)}}function nj(t,n){if(1&t&&ze(0,"app-context-menu",9),2&t){const e=n.$implicit;x("id",e.id)("element",e)}}let ij=(()=>{class t{constructor(e,i,r,o,s,a,l){this.childBearerService=e,this.attributeService=i,this.cd=r,this.frontendService=o,this.elementLookupService=s,this.contextMenuService=a,this.callbackService=l,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:e=>{this.messageList=e,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:e=>{this.children.forEach(a=>{this.child.clear()}),this.children=[],this.cleanValues(e),this.frontendService.detectCreateMenuBar(e);let i=[],r=[];this.frontendService.getAllMessagesContextMenus(e,i,r),this.frontendService.messageLists.next(i),this.frontendService.contextMenus.subscribe(a=>{a.forEach(l=>{this.contextMenuService.registerContextMenu(l.id,l)}),this.contextMenuList=a}),this.frontendService.contextMenus.next(r);let o=e.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let s=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(a=>{let l=this.childBearerService.bearChild(this.child,a,s);null!=l&&this.children.push(l)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:e=>console.log(e)}),this.frontendService.initialGet()}setAttributes(e){let i=this.parent.nativeElement;this.attributeService.setChildLayout(i,e),this.attributeService.addAttributes(i,e),this.attributeService.addClasses(i,e,[],[]),this.cd.detectChanges()}doCallbacks(e){this.callbackService.setCallbacks(this.parent.nativeElement,e)}cleanValues(e){for(let i=0;i"))}for(let i=0;i{this.cleanValues(i)})}stringSanitizer(e){return null==e||(e.length>0&&'"'==e[0]&&(e=e.slice(1)),e.length>0&&'"'==e[e.length-1]&&(e=e.slice(0,-1))),e}}return t.\u0275fac=function(e){return new(e||t)(y(gu),y(On),y(_t),y(zn),y(sn),y(Sa),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-new-main"]],viewQuery:function(e,i){if(1&e&&(ut(YU,5),ut(ZU,5,Mn)),2&e){let r;ce(r=ue())&&(i.parent=r.first),ce(r=ue())&&(i.child=r.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(e,i){1&e&&(V(0,QU,4,1,"div",0),V(1,tj,2,1,"div",1),V(2,nj,1,2,"app-context-menu",2)),2&e&&(x("ngIf",null!=i.window),P(1),x("ngIf",null!=i.window),P(1),x("ngForOf",i.contextMenuList))},dependencies:[$n,Gn,qU,KU]}),t})();const rj=["titleIcon"];function oj(t,n){if(1&t&&(j(0,"button",4),ze(1,"i",null,5),Xe(3),H()),2&t){const e=n.$implicit;jn("id",e.id),P(3),Ui(" ",e.title,"")}}let sj=(()=>{class t{constructor(e,i,r,o,s,a){this.cd=e,this.displayFrontend=i,this.callbackService=r,this.attributeService=o,this.elementLookupService=s,this.callBackHelperService=a,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(e=>{let i=this.attributeService.findGetAttributeValue("label",e.attributes,""),r=new aj(e.id,i,e);this.elementLookupService.addElementObject(e.id,r,e),this.menuBarButtons.push(r)}),this.cd.detectChanges(),this.menuBarButtons.forEach(e=>{let i=document.getElementById(e.id);if(null!=i){e.setHtmlElement(i),e.setAttributes(e.element.attributes),this.attributeService.addClasses(i,e.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(i,e.element.when);let r=i.children.item(0);null!=r&&this.attributeService.addClasses(r,e.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("title",e);null!=i&&(this.title=i.value),this.attributeService.addClasses(this.titleIcon.nativeElement,e,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(e){null!=e&&this.displayFrontend.policyPost(e)}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(zn),y($i),y(On),y(sn),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-menu-bar"]],viewQuery:function(e,i){if(1&e&&ut(rj,5),2&e){let r;ce(r=ue())&&(i.titleIcon=r.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(e,i){1&e&&(j(0,"nav",0)(1,"a",1),ze(2,"i",null,2),Xe(4),H(),j(5,"div"),V(6,oj,4,2,"button",3),H()()),2&e&&(P(4),Ui(" ",i.title," "),P(2),x("ngForOf",i.menuBarButtons))},dependencies:[$n]}),t})();class aj{constructor(n,e,i){this.id="",this.title="",this.htmlElement=null,this.id=n,this.title=e,this.element=i}setHtmlElement(n){this.htmlElement=n}setAttributes(n){let e=n.find(i=>"label"==i.key);this.title=null!=e?e.value:""}}const lj=["contentWrapper"];function cj(t,n){1&t&&ze(0,"app-menu-bar",3),2&t&&x("element",W().menuBar)}let uj=(()=>{class t{constructor(e,i,r){this.frontendService=e,this.cd=i,this.elementLookupService=r,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:e=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=e,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){qt.injector.get(sn).elementLookup.forEach(i=>{"menu_bar_section"==i.element.type&&null!=i.object&&"collapsed"in i.object&&0==i.object.collapsed&&(i.object.collapsed=!0)})})}}return t.\u0275fac=function(e){return new(e||t)(y(zn),y(_t),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-root"]],viewQuery:function(e,i){if(1&e&&ut(lj,5),2&e){let r;ce(r=ue())&&(i.contentWrapper=r.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(e,i){1&e&&(V(0,cj,1,1,"app-menu-bar",0),j(1,"div",1,2),ze(3,"app-new-main"),H()),2&e&&x("ngIf",null!=i.menuBar)},dependencies:[Gn,ij,sj],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function dj(t){return()=>t.load()}let fj=(()=>{class t{constructor(e){this.injector=e,qt.injector=e}}return t.\u0275fac=function(e){return new(e||t)(B(Hn))},t.\u0275mod=Fe({type:t,bootstrap:[uj]}),t.\u0275inj=Ae({providers:[{provide:eb,useFactory:dj,deps:[$D],multi:!0}],imports:[qF,r2,i2,eD,Ek,fU,Ap]}),t})();(function Tg(t,n,e){const i=t.\u0275cmp;i.directiveDefs=rl(n,!1),i.pipeDefs=rl(e,!0)})($C,[zD],[]),zF().bootstrapModule(fj).catch(t=>console.error(t))},919:(Ci,Zt)=>{"use strict";Zt.byteLength=function je(Q){var pe=De(Q),Ze=pe[1];return 3*(pe[0]+Ze)/4-Ze},Zt.toByteArray=function ht(Q){var pe,xt,we=De(Q),Ze=we[0],Je=we[1],Re=new ft(function S(Q,pe,we){return 3*(pe+we)/4-we}(0,Ze,Je)),Ot=0,ln=Je>0?Ze-4:Ze;for(xt=0;xt>16&255,Re[Ot++]=pe>>8&255,Re[Ot++]=255&pe;return 2===Je&&(pe=$[Q.charCodeAt(xt)]<<2|$[Q.charCodeAt(xt+1)]>>4,Re[Ot++]=255&pe),1===Je&&(pe=$[Q.charCodeAt(xt)]<<10|$[Q.charCodeAt(xt+1)]<<4|$[Q.charCodeAt(xt+2)]>>2,Re[Ot++]=pe>>8&255,Re[Ot++]=255&pe),Re},Zt.fromByteArray=function vt(Q){for(var pe,we=Q.length,Ze=we%3,Je=[],Ot=0,ln=we-Ze;Otln?ln:Ot+16383));return 1===Ze?Je.push(Ue[(pe=Q[we-1])>>2]+Ue[pe<<4&63]+"=="):2===Ze&&Je.push(Ue[(pe=(Q[we-2]<<8)+Q[we-1])>>10]+Ue[pe>>4&63]+Ue[pe<<2&63]+"="),Je.join("")};for(var Ue=[],$=[],ft=typeof Uint8Array<"u"?Uint8Array:Array,Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=0;Be<64;++Be)Ue[Be]=Ye[Be],$[Ye.charCodeAt(Be)]=Be;function De(Q){var pe=Q.length;if(pe%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var we=Q.indexOf("=");return-1===we&&(we=pe),[we,we===pe?0:4-we%4]}function $e(Q){return Ue[Q>>18&63]+Ue[Q>>12&63]+Ue[Q>>6&63]+Ue[63&Q]}function pt(Q,pe,we){for(var Je=[],Re=pe;Re{"use strict";var ft=Ue(919),Ye=Ue(601),Be="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Zt.lW=S,Zt.h2=50;var me=2147483647;function je(p){if(p>me)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,S.prototype),d}function S(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return vt(p)}return ht(p,d,f)}function ht(p,d,f){if("string"==typeof p)return function Q(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!S.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|ln(p,d),_=je(f),D=_.write(p,d);return D!==f&&(_=_.slice(0,D)),_}(p,d);if(ArrayBuffer.isView(p))return function we(p){if(cn(p,Uint8Array)){var d=new Uint8Array(p);return Ze(d.buffer,d.byteOffset,d.byteLength)}return pe(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(cn(p,ArrayBuffer)||p&&cn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(cn(p,SharedArrayBuffer)||p&&cn(p.buffer,SharedArrayBuffer)))return Ze(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var _=p.valueOf&&p.valueOf();if(null!=_&&_!==p)return S.from(_,d,f);var D=function Je(p){if(S.isBuffer(p)){var d=0|Re(p.length),f=je(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||E(p.length)?je(0):pe(p):"Buffer"===p.type&&Array.isArray(p.data)?pe(p.data):void 0}(p);if(D)return D;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return S.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function $e(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function vt(p){return $e(p),je(p<0?0:0|Re(p))}function pe(p){for(var d=p.length<0?0:0|Re(p.length),f=je(d),_=0;_=me)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+me.toString(16)+" bytes");return 0|p}function ln(p,d){if(S.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||cn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,_=arguments.length>2&&!0===arguments[2];if(!_&&0===f)return 0;for(var D=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Ut(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ti(p).length;default:if(D)return _?-1:Ut(p).length;d=(""+d).toLowerCase(),D=!0}}function xt(p,d,f){var _=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return ys(this,d,f);case"utf8":case"utf-8":return _s(this,d,f);case"ascii":return lo(this,d,f);case"latin1":case"binary":return co(this,d,f);case"base64":return Si(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uo(this,d,f);default:if(_)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),_=!0}}function bt(p,d,f){var _=p[d];p[d]=p[f],p[f]=_}function Dr(p,d,f,_,D){if(0===p.length)return-1;if("string"==typeof f?(_=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),E(f=+f)&&(f=D?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(D)return-1;f=p.length-1}else if(f<0){if(!D)return-1;f=0}if("string"==typeof d&&(d=S.from(d,_)),S.isBuffer(d))return 0===d.length?-1:Ni(p,d,f,_,D);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?D?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):Ni(p,[d],f,_,D);throw new TypeError("val must be string, number or Buffer")}function Ni(p,d,f,_,D){var Ce,M=1,I=p.length,K=d.length;if(void 0!==_&&("ucs2"===(_=String(_).toLowerCase())||"ucs-2"===_||"utf16le"===_||"utf-16le"===_)){if(p.length<2||d.length<2)return-1;M=2,I/=2,K/=2,f/=2}function _e(Jt,tt){return 1===M?Jt[tt]:Jt.readUInt16BE(tt*M)}if(D){var at=-1;for(Ce=f;CeI&&(f=I-K),Ce=f;Ce>=0;Ce--){for(var Ve=!0,jt=0;jtD&&(_=D):_=D;var M=d.length;_>M/2&&(_=M/2);for(var I=0;I<_;++I){var K=parseInt(d.substr(2*I,2),16);if(E(K))return I;p[f+I]=K}return I}function ms(p,d,f,_){return rr(Ut(d,p.length-f),p,f,_)}function wr(p,d,f,_){return rr(function go(p){for(var d=[],f=0;f>8,M.push(f%256),M.push(_);return M}(d,p.length-f),p,f,_)}function Si(p,d,f){return ft.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function _s(p,d,f){f=Math.min(p.length,f);for(var _=[],D=d;D239?4:M>223?3:M>191?2:1;if(D+K<=f)switch(K){case 1:M<128&&(I=M);break;case 2:128==(192&(_e=p[D+1]))&&(Ve=(31&M)<<6|63&_e)>127&&(I=Ve);break;case 3:Ce=p[D+2],128==(192&(_e=p[D+1]))&&128==(192&Ce)&&(Ve=(15&M)<<12|(63&_e)<<6|63&Ce)>2047&&(Ve<55296||Ve>57343)&&(I=Ve);break;case 4:Ce=p[D+2],at=p[D+3],128==(192&(_e=p[D+1]))&&128==(192&Ce)&&128==(192&at)&&(Ve=(15&M)<<18|(63&_e)<<12|(63&Ce)<<6|63&at)>65535&&Ve<1114112&&(I=Ve)}null===I?(I=65533,K=1):I>65535&&(_.push((I-=65536)>>>10&1023|55296),I=56320|1023&I),_.push(I),D+=K}return function qe(p){var d=p.length;if(d<=Nr)return String.fromCharCode.apply(String,p);for(var f="",_=0;_D.length?S.from(I).copy(D,M):Uint8Array.prototype.set.call(D,I,M);else{if(!S.isBuffer(I))throw new TypeError('"list" argument must be an Array of Buffers');I.copy(D,M)}M+=I.length}return D},S.byteLength=ln,S.prototype._isBuffer=!0,S.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},Be&&(S.prototype[Be]=S.prototype.inspect),S.prototype.compare=function(d,f,_,D,M){if(cn(d,Uint8Array)&&(d=S.from(d,d.offset,d.byteLength)),!S.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===_&&(_=d?d.length:0),void 0===D&&(D=0),void 0===M&&(M=this.length),f<0||_>d.length||D<0||M>this.length)throw new RangeError("out of range index");if(D>=M&&f>=_)return 0;if(D>=M)return-1;if(f>=_)return 1;if(this===d)return 0;for(var I=(M>>>=0)-(D>>>=0),K=(_>>>=0)-(f>>>=0),_e=Math.min(I,K),Ce=this.slice(D,M),at=d.slice(f,_),Ve=0;Ve<_e;++Ve)if(Ce[Ve]!==at[Ve]){I=Ce[Ve],K=at[Ve];break}return I>>=0,isFinite(_)?(_>>>=0,void 0===D&&(D="utf8")):(D=_,_=void 0)}var M=this.length-f;if((void 0===_||_>M)&&(_=M),d.length>0&&(_<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");D||(D="utf8");for(var I=!1;;)switch(D){case"hex":return Ei(this,d,f,_);case"utf8":case"utf-8":return ms(this,d,f,_);case"ascii":case"latin1":case"binary":return wr(this,d,f,_);case"base64":return ao(this,d,f,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Cr(this,d,f,_);default:if(I)throw new TypeError("Unknown encoding: "+D);D=(""+D).toLowerCase(),I=!0}},S.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Nr=4096;function lo(p,d,f){var _="";f=Math.min(p.length,f);for(var D=d;D_)&&(f=_);for(var D="",M=d;Mf)throw new RangeError("Trying to access beyond buffer length")}function Ht(p,d,f,_,D,M){if(!S.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>D||dp.length)throw new RangeError("Index out of range")}function fo(p,d,f,_,D,M){if(f+_>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function ho(p,d,f,_,D){return d=+d,f>>>=0,D||fo(p,0,f,4),Ye.write(p,d,f,_,23,4),f+4}function Dt(p,d,f,_,D){return d=+d,f>>>=0,D||fo(p,0,f,8),Ye.write(p,d,f,_,52,8),f+8}S.prototype.slice=function(d,f){var _=this.length;(d=~~d)<0?(d+=_)<0&&(d=0):d>_&&(d=_),(f=void 0===f?_:~~f)<0?(f+=_)<0&&(f=0):f>_&&(f=_),f>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d],M=1,I=0;++I>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d+--f],M=1;f>0&&(M*=256);)D+=this[d+--f]*M;return D},S.prototype.readUint8=S.prototype.readUInt8=function(d,f){return d>>>=0,f||re(d,1,this.length),this[d]},S.prototype.readUint16LE=S.prototype.readUInt16LE=function(d,f){return d>>>=0,f||re(d,2,this.length),this[d]|this[d+1]<<8},S.prototype.readUint16BE=S.prototype.readUInt16BE=function(d,f){return d>>>=0,f||re(d,2,this.length),this[d]<<8|this[d+1]},S.prototype.readUint32LE=S.prototype.readUInt32LE=function(d,f){return d>>>=0,f||re(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},S.prototype.readUint32BE=S.prototype.readUInt32BE=function(d,f){return d>>>=0,f||re(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},S.prototype.readIntLE=function(d,f,_){d>>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d],M=1,I=0;++I=(M*=128)&&(D-=Math.pow(2,8*f)),D},S.prototype.readIntBE=function(d,f,_){d>>>=0,f>>>=0,_||re(d,f,this.length);for(var D=f,M=1,I=this[d+--D];D>0&&(M*=256);)I+=this[d+--D]*M;return I>=(M*=128)&&(I-=Math.pow(2,8*f)),I},S.prototype.readInt8=function(d,f){return d>>>=0,f||re(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},S.prototype.readInt16LE=function(d,f){d>>>=0,f||re(d,2,this.length);var _=this[d]|this[d+1]<<8;return 32768&_?4294901760|_:_},S.prototype.readInt16BE=function(d,f){d>>>=0,f||re(d,2,this.length);var _=this[d+1]|this[d]<<8;return 32768&_?4294901760|_:_},S.prototype.readInt32LE=function(d,f){return d>>>=0,f||re(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},S.prototype.readInt32BE=function(d,f){return d>>>=0,f||re(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},S.prototype.readFloatLE=function(d,f){return d>>>=0,f||re(d,4,this.length),Ye.read(this,d,!0,23,4)},S.prototype.readFloatBE=function(d,f){return d>>>=0,f||re(d,4,this.length),Ye.read(this,d,!1,23,4)},S.prototype.readDoubleLE=function(d,f){return d>>>=0,f||re(d,8,this.length),Ye.read(this,d,!0,52,8)},S.prototype.readDoubleBE=function(d,f){return d>>>=0,f||re(d,8,this.length),Ye.read(this,d,!1,52,8)},S.prototype.writeUintLE=S.prototype.writeUIntLE=function(d,f,_,D){d=+d,f>>>=0,_>>>=0,D||Ht(this,d,f,_,Math.pow(2,8*_)-1,0);var I=1,K=0;for(this[f]=255&d;++K<_&&(I*=256);)this[f+K]=d/I&255;return f+_},S.prototype.writeUintBE=S.prototype.writeUIntBE=function(d,f,_,D){d=+d,f>>>=0,_>>>=0,D||Ht(this,d,f,_,Math.pow(2,8*_)-1,0);var I=_-1,K=1;for(this[f+I]=255&d;--I>=0&&(K*=256);)this[f+I]=d/K&255;return f+_},S.prototype.writeUint8=S.prototype.writeUInt8=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,1,255,0),this[f]=255&d,f+1},S.prototype.writeUint16LE=S.prototype.writeUInt16LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},S.prototype.writeUint16BE=S.prototype.writeUInt16BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},S.prototype.writeUint32LE=S.prototype.writeUInt32LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},S.prototype.writeUint32BE=S.prototype.writeUInt32BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},S.prototype.writeIntLE=function(d,f,_,D){if(d=+d,f>>>=0,!D){var M=Math.pow(2,8*_-1);Ht(this,d,f,_,M-1,-M)}var I=0,K=1,_e=0;for(this[f]=255&d;++I<_&&(K*=256);)d<0&&0===_e&&0!==this[f+I-1]&&(_e=1),this[f+I]=(d/K>>0)-_e&255;return f+_},S.prototype.writeIntBE=function(d,f,_,D){if(d=+d,f>>>=0,!D){var M=Math.pow(2,8*_-1);Ht(this,d,f,_,M-1,-M)}var I=_-1,K=1,_e=0;for(this[f+I]=255&d;--I>=0&&(K*=256);)d<0&&0===_e&&0!==this[f+I+1]&&(_e=1),this[f+I]=(d/K>>0)-_e&255;return f+_},S.prototype.writeInt8=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},S.prototype.writeInt16LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},S.prototype.writeInt16BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},S.prototype.writeInt32LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},S.prototype.writeInt32BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},S.prototype.writeFloatLE=function(d,f,_){return ho(this,d,f,!0,_)},S.prototype.writeFloatBE=function(d,f,_){return ho(this,d,f,!1,_)},S.prototype.writeDoubleLE=function(d,f,_){return Dt(this,d,f,!0,_)},S.prototype.writeDoubleBE=function(d,f,_){return Dt(this,d,f,!1,_)},S.prototype.copy=function(d,f,_,D){if(!S.isBuffer(d))throw new TypeError("argument should be a Buffer");if(_||(_=0),!D&&0!==D&&(D=this.length),f>=d.length&&(f=d.length),f||(f=0),D>0&&D<_&&(D=_),D===_||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(_<0||_>=this.length)throw new RangeError("Index out of range");if(D<0)throw new RangeError("sourceEnd out of bounds");D>this.length&&(D=this.length),d.length-f>>=0,_=void 0===_?this.length:_>>>0,d||(d=0),"number"==typeof d)for(I=f;I<_;++I)this[I]=d;else{var K=S.isBuffer(d)?d:S.from(d,D),_e=K.length;if(0===_e)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(I=0;I<_-f;++I)this[I+f]=K[I%_e]}return this};var st=/[^+/0-9A-Za-z-_]/g;function Ut(p,d){d=d||1/0;for(var f,_=p.length,D=null,M=[],I=0;I<_;++I){if((f=p.charCodeAt(I))>55295&&f<57344){if(!D){if(f>56319){(d-=3)>-1&&M.push(239,191,189);continue}if(I+1===_){(d-=3)>-1&&M.push(239,191,189);continue}D=f;continue}if(f<56320){(d-=3)>-1&&M.push(239,191,189),D=f;continue}f=65536+(D-55296<<10|f-56320)}else D&&(d-=3)>-1&&M.push(239,191,189);if(D=null,f<128){if((d-=1)<0)break;M.push(f)}else if(f<2048){if((d-=2)<0)break;M.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;M.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;M.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return M}function Ti(p){return ft.toByteArray(function po(p){if((p=(p=p.split("=")[0]).trim().replace(st,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function rr(p,d,f,_){for(var D=0;D<_&&!(D+f>=d.length||D>=p.length);++D)d[D+f]=p[D];return D}function cn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function E(p){return p!=p}var C=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var _=16*f,D=0;D<16;++D)d[_+D]=p[f]+p[D];return d}()},601:(Ci,Zt)=>{Zt.read=function(Ue,$,ft,Ye,Be){var me,De,je=8*Be-Ye-1,S=(1<>1,$e=-7,pt=ft?Be-1:0,vt=ft?-1:1,Q=Ue[$+pt];for(pt+=vt,me=Q&(1<<-$e)-1,Q>>=-$e,$e+=je;$e>0;me=256*me+Ue[$+pt],pt+=vt,$e-=8);for(De=me&(1<<-$e)-1,me>>=-$e,$e+=Ye;$e>0;De=256*De+Ue[$+pt],pt+=vt,$e-=8);if(0===me)me=1-ht;else{if(me===S)return De?NaN:1/0*(Q?-1:1);De+=Math.pow(2,Ye),me-=ht}return(Q?-1:1)*De*Math.pow(2,me-Ye)},Zt.write=function(Ue,$,ft,Ye,Be,me){var De,je,S,ht=8*me-Be-1,$e=(1<>1,vt=23===Be?Math.pow(2,-24)-Math.pow(2,-77):0,Q=Ye?0:me-1,pe=Ye?1:-1,we=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(je=isNaN($)?1:0,De=$e):(De=Math.floor(Math.log($)/Math.LN2),$*(S=Math.pow(2,-De))<1&&(De--,S*=2),($+=De+pt>=1?vt/S:vt*Math.pow(2,1-pt))*S>=2&&(De++,S/=2),De+pt>=$e?(je=0,De=$e):De+pt>=1?(je=($*S-1)*Math.pow(2,Be),De+=pt):(je=$*Math.pow(2,pt-1)*Math.pow(2,Be),De=0));Be>=8;Ue[ft+Q]=255&je,Q+=pe,je/=256,Be-=8);for(De=De<0;Ue[ft+Q]=255&De,Q+=pe,De/=256,ht-=8);Ue[ft+Q-pe]|=128*we}},614:()=>{"use strict";const Ci=":";const Ti=function(E,...C){if(Ti.translate){const d=Ti.translate(E,C);E=d[0],C=d[1]}let p=cn(E[0],E.raw[0]);for(let d=1;d{var Zt=$=>Ci(Ci.s=$);Zt(614),Zt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js deleted file mode 100644 index 23aad98e..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.ef1e1a35783ef1fd.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(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 gg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function OE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(fg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function LE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function HE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(QE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class PS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function BS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={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=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let mT=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&R_;t.data[e+(r>>P_)]|=1<=0?t&R_:CT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Jd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},iI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class yI{}class Km{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function Cf(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 Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function PN(e,t,i,n){if(n)ed(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function hx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return Q0(Ut(),A())}const Zx=Cn,Z0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function ZR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function xS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Jt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:nP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function JR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const yP=O1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class RP{}const Kt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends vk{static makeCurrent(){!function xP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/"},rp=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=O1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Fk(){ep.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){zd=e}(document),document},deps:[]}]),Vk=new W(""),Vb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:tp,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:tp,useClass:Pk,multi:!0,deps:[Kt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),eD=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:g2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:o2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=$t.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&pD(l,null),"call"==l.interactionType||"callback"==l.interactionType)try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Fu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function mp(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function qD(e,t){return vp(t).filter(i=>!eu(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Pp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Vw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Hp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Pw(e),t,Pw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[jn]/2:0,ag=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[jn],mo[jn]),lg=P?ue[jn]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?fu(Mu,gi+lg-uE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Ou="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],ug=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=ug?hE:is-ue[Ou]-_e[Ou]-gE+Dt.altAxis,mE=ug?is+ue[Ou]+_e[Ou]-gE-Dt.altAxis:pE,vE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&bC(_,a):"outside"===i?!bu(_,s):bC(_,a)||!bu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Vu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Kc,gp,uu,JD,QD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n);null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element&&("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef?null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close():(this.modalRef=this.modalService.open(this.content,{ariaLabelledBy:"modal-basic-title"}),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(o=>{if(this.closeResult=`Closed with: ${o}`,null!=this.element)for(let a=0;a{if(this.closeResult=`Dismissed ${this.getDismissReason(o)}`,null!=this.element)for(let a=0;a{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Hk,QL,JL,bb,v2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[uD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js new file mode 100644 index 00000000..fd712899 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,T){n&&n.measure&&n.measure(M,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class M{static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=M.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CM.hasTask(t,r),onScheduleTask:(M,T,t,r)=>M.scheduleTask(t,r),onInvokeTask:(M,T,t,r,k,C)=>M.invokeTask(t,r,k,C),onCancelTask:(M,T,t,r)=>M.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const L=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(M){if(K||e[O]&&(K=e[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,M)}else e[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,Y=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||Y.event))return;let n=we[e.type];n||(n=we[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let o=ue(e,n);if(!o&&i&&ue(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=we[d];b||(b=we[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,Ue),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,Ue,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v[ct]&&v.removeAttribute(n),L}return null},pe(e,n,o),e[c]=!0}function qe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function le(e,n){e[j("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),L="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const O=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[O];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function K(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[J]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[L];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=l[R],Z=!!s&&_===s[_];Z&&(s[J]=S,s[x]=w);const D=u.run(m,void 0,Z&&m!==K&&m!==H?[]:[S]);z(s,!0,D)}catch(S){z(s,!1,S)}},s)}const M=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,S)=>{for(let Z=0;Z{g||(g=!0,m(D))},D=>{w.push(D),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((S,Z)=>{s=S,f=Z});function w(S){s(S)}function m(S){f(S)}for(let S of u)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((D,V)=>{f=D,g=V}),m=2,S=0;const Z=[];for(let D of u){B(D)||(D=this.resolve(D));const V=S;try{D.then(F=>{Z[V]=s?s.thenCallback(F):F,m--,0===m&&f(Z)},F=>{s?(Z[V]=s.errorCallback(F),m--,0===m&&f(Z)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(Z),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(M),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(M);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((S,Z)=>{f.call(this,S,Z)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),ae(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ce,o=(n?n(e):e)+ie,c=me+i,a=me+o;te[e]={},te[e][ce]=c,te[e][ie]=a}function dt(e,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||De,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",L="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,J){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][J?ie:ce]];if(X){const A=[];if(1===X.length){const E=O(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=ve(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ie:ce]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[$e]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const L=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,L),e._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],L))}else O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],L))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function Qe(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function et(e,n,i,o){e&&qe(e,Qe(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=qe,i.patchMethod=ae,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Se,i.ArraySlice=it,i.patchClass=ge,i.wrapWithCurrentZone=Ie,i.filterProperties=Qe,i.attachOriginToPatched=le,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=j("zoneTask");function Te(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=ae(e,n+=o,v=>function(p,L){if("function"==typeof L[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const B=Me(n,L[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Re]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,L)}),a=ae(e,i,v=>function(p,L){const O=L[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,L)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Te(e,n,i,"Timeout"),Te(e,n,i,"Interval"),Te(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];et(c,He(c),i&&i.concat(a),ve(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const L=p.prototype;let N=L[Oe],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Oe],B=I[Ne]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Oe],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=ae(L,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=ae(L,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return le(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Ke(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ue=>{ue(ue.s=332)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js deleted file mode 100644 index 22c6581f..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function s(j){n&&n.mark&&n.mark(j)}function r(j,h){n&&n.measure&&n.measure(j,h)}s("Zone");const i=e.__Zone_symbol_prefix||"__zone_symbol__";function l(j){return i+j}const p=!0===e[l("forceDuplicateZoneCheck")];if(e.Zone){if(p||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let E=(()=>{class h{static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=h.current;for(;t.parent;)t=t.parent;return t}static get current(){return W.zone}static get currentTask(){return re}static __load_patch(t,_,w=!1){if(oe.hasOwnProperty(t)){if(!w&&p)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const L="Zone:"+t;s(L),oe[t]=_(e,h,Y),r(L,L)}}get parent(){return this._parent}get name(){return this._name}constructor(t,_){this._parent=t,this._name=_?_.name||"unnamed":"",this._properties=_&&_.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,_)}get(t){const _=this.getZoneWith(t);if(_)return _._properties[t]}getZoneWith(t){let _=this;for(;_;){if(_._properties.hasOwnProperty(t))return _;_=_._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,_){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const w=this._zoneDelegate.intercept(this,t,_),L=this;return function(){return L.runGuarded(w,this,arguments,_)}}run(t,_,w,L){W={parent:W,zone:this};try{return this._zoneDelegate.invoke(this,t,_,w,L)}finally{W=W.parent}}runGuarded(t,_=null,w,L){W={parent:W,zone:this};try{try{return this._zoneDelegate.invoke(this,t,_,w,L)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{W=W.parent}}runTask(t,_,w){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===G&&(t.type===Q||t.type===P))return;const L=t.state!=y;L&&t._transitionTo(y,A),t.runCount++;const a=re;re=t,W={parent:W,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,_,w)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{t.state!==G&&t.state!==d&&(t.type==Q||t.data&&t.data.isPeriodic?L&&t._transitionTo(A,y):(t.runCount=0,this._updateTaskCount(t,-1),L&&t._transitionTo(G,y,G))),W=W.parent,re=a}}scheduleTask(t){if(t.zone&&t.zone!==this){let w=this;for(;w;){if(w===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);w=w.parent}}t._transitionTo(z,G);const _=[];t._zoneDelegates=_,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(w){throw t._transitionTo(d,z,G),this._zoneDelegate.handleError(this,w),w}return t._zoneDelegates===_&&this._updateTaskCount(t,1),t.state==z&&t._transitionTo(A,z),t}scheduleMicroTask(t,_,w,L){return this.scheduleTask(new m(I,t,_,w,L,void 0))}scheduleMacroTask(t,_,w,L,a){return this.scheduleTask(new m(P,t,_,w,L,a))}scheduleEventTask(t,_,w,L,a){return this.scheduleTask(new m(Q,t,_,w,L,a))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===y){t._transitionTo(V,A,y);try{this._zoneDelegate.cancelTask(this,t)}catch(_){throw t._transitionTo(d,V),this._zoneDelegate.handleError(this,_),_}return this._updateTaskCount(t,-1),t._transitionTo(G,V),t.runCount=0,t}}_updateTaskCount(t,_){const w=t._zoneDelegates;-1==_&&(t._zoneDelegates=null);for(let L=0;Lj.hasTask(c,t),onScheduleTask:(j,h,c,t)=>j.scheduleTask(c,t),onInvokeTask:(j,h,c,t,_,w)=>j.invokeTask(c,t,_,w),onCancelTask:(j,h,c,t)=>j.cancelTask(c,t)};class v{constructor(h,c,t){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=h,this._parentDelegate=c,this._forkZS=t&&(t&&t.onFork?t:c._forkZS),this._forkDlgt=t&&(t.onFork?c:c._forkDlgt),this._forkCurrZone=t&&(t.onFork?this.zone:c._forkCurrZone),this._interceptZS=t&&(t.onIntercept?t:c._interceptZS),this._interceptDlgt=t&&(t.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=t&&(t.onIntercept?this.zone:c._interceptCurrZone),this._invokeZS=t&&(t.onInvoke?t:c._invokeZS),this._invokeDlgt=t&&(t.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=t&&(t.onInvoke?this.zone:c._invokeCurrZone),this._handleErrorZS=t&&(t.onHandleError?t:c._handleErrorZS),this._handleErrorDlgt=t&&(t.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=t&&(t.onHandleError?this.zone:c._handleErrorCurrZone),this._scheduleTaskZS=t&&(t.onScheduleTask?t:c._scheduleTaskZS),this._scheduleTaskDlgt=t&&(t.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=t&&(t.onScheduleTask?this.zone:c._scheduleTaskCurrZone),this._invokeTaskZS=t&&(t.onInvokeTask?t:c._invokeTaskZS),this._invokeTaskDlgt=t&&(t.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=t&&(t.onInvokeTask?this.zone:c._invokeTaskCurrZone),this._cancelTaskZS=t&&(t.onCancelTask?t:c._cancelTaskZS),this._cancelTaskDlgt=t&&(t.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=t&&(t.onCancelTask?this.zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const _=t&&t.onHasTask;(_||c&&c._hasTaskZS)&&(this._hasTaskZS=_?t:b,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=h,t.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this.zone),t.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this.zone),t.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this.zone))}fork(h,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,h,c):new E(h,c)}intercept(h,c,t){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,h,c,t):c}invoke(h,c,t,_,w){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,h,c,t,_,w):c.apply(t,_)}handleError(h,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,h,c)}scheduleTask(h,c){let t=c;if(this._scheduleTaskZS)this._hasTaskZS&&t._zoneDelegates.push(this._hasTaskDlgtOwner),t=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,h,c),t||(t=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=I)throw new Error("Task is missing scheduleFn.");C(c)}return t}invokeTask(h,c,t,_){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,h,c,t,_):c.callback.apply(t,_)}cancelTask(h,c){let t;if(this._cancelTaskZS)t=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,h,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");t=c.cancelFn(c)}return t}hasTask(h,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,h,c)}catch(t){this.handleError(h,t)}}_updateTaskCount(h,c){const t=this._taskCounts,_=t[h],w=t[h]=_+c;if(w<0)throw new Error("More tasks executed then were scheduled.");0!=_&&0!=w||this.hasTask(this.zone,{microTask:t.microTask>0,macroTask:t.macroTask>0,eventTask:t.eventTask>0,change:h})}}class m{constructor(h,c,t,_,w,L){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=h,this.source=c,this.data=_,this.scheduleFn=w,this.cancelFn=L,!t)throw new Error("callback is not defined");this.callback=t;const a=this;this.invoke=h===Q&&_&&_.useG?m.invokeTask:function(){return m.invokeTask.call(e,a,this,arguments)}}static invokeTask(h,c,t){h||(h=this),ee++;try{return h.runCount++,h.zone.runTask(h,c,t)}finally{1==ee&&T(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(G,z)}_transitionTo(h,c,t){if(this._state!==c&&this._state!==t)throw new Error(`${this.type} '${this.source}': can not transition to '${h}', expecting state '${c}'${t?" or '"+t+"'":""}, was '${this._state}'.`);this._state=h,h==G&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=l("setTimeout"),O=l("Promise"),N=l("then");let K,U=[],x=!1;function X(j){if(K||e[O]&&(K=e[O].resolve(0)),K){let h=K[N];h||(h=K.then),h.call(K,j)}else e[M](j,0)}function C(j){0===ee&&0===U.length&&X(T),j&&U.push(j)}function T(){if(!x){for(x=!0;U.length;){const j=U;U=[];for(let h=0;hW,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:C,showUncaughtError:()=>!E[l("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:q,patchMethod:()=>q,bindArguments:()=>[],patchThen:()=>q,patchMacroTask:()=>q,patchEventPrototype:()=>q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>q,wrapWithCurrentZone:()=>q,filterProperties:()=>[],attachOriginToPatched:()=>q,_redefineProperty:()=>q,patchCallbacks:()=>q,nativeScheduleMicroTask:X};let W={parent:null,zone:new E(null,null)},re=null,ee=0;function q(){}r("Zone","Zone"),e.Zone=E}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,s,r,i){return Zone.current.scheduleMacroTask(e,n,s,r,i)}const H=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,$=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let s=e.length-1;s>=0;s--)"function"==typeof e[s]&&(e[s]=Ie(e[s],n+"_"+s));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||$.event))return;let n=we[e.type];n||(n=we[e.type]=H("ON_PROPERTY"+e.type));const s=this||e.target||$,r=s[n];let i;return Ae&&s===_e&&"error"===e.type?(i=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=r&&r.apply(this,arguments),null!=i&&!i&&e.preventDefault()),i};function We(e,n,s){let r=ue(e,n);if(!r&&s&&ue(s,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const i=H("on"+n+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete r.writable,delete r.value;const l=r.get,p=r.set,E=n.slice(2);let b=we[E];b||(b=we[E]=H("ON_PROPERTY"+E)),r.set=function(v){let m=this;!m&&e===$&&(m=$),m&&("function"==typeof m[b]&&m.removeEventListener(E,Ue),p&&p.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(E,Ue,!1))},r.get=function(){let v=this;if(!v&&e===$&&(v=$),!v)return null;const m=v[b];if(m)return m;if(l){let M=l.call(this);if(M)return r.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,r),e[i]=!0}function qe(e,n,s){if(n)for(let r=0;rfunction(p,E){const b=s(p,E);return b.cbIdx>=0&&"function"==typeof E[b.cbIdx]?Me(b.name,E[b.cbIdx],b,i):l.apply(p,E)})}function le(e,n){e[H("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,s)=>{const r=Object.getOwnPropertyDescriptor,i=Object.defineProperty,p=s.symbol,E=[],b=!0===e[p("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=p("Promise"),m=p("then"),M="__creationTrace__";s.onUnhandledError=a=>{if(s.showUncaughtError()){const u=a&&a.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",a.zone.name,"; Task:",a.task&&a.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(a)}},s.microtaskDrainDone=()=>{for(;E.length;){const a=E.shift();try{a.zone.runGuarded(()=>{throw a.throwOriginal?a.rejection:a})}catch(u){N(u)}}};const O=p("unhandledPromiseRejectionHandler");function N(a){s.onUnhandledError(a);try{const u=n[O];"function"==typeof u&&u.call(this,a)}catch{}}function U(a){return a&&a.then}function x(a){return a}function K(a){return c.reject(a)}const X=p("state"),C=p("value"),T=p("finally"),J=p("parentPromiseValue"),G=p("parentPromiseState"),z="Promise.then",A=null,y=!0,V=!1,d=0;function I(a,u){return o=>{try{Y(a,u,o)}catch(f){Y(a,!1,f)}}}const P=function(){let a=!1;return function(o){return function(){a||(a=!0,o.apply(null,arguments))}}},Q="Promise resolved with itself",oe=p("currentTaskTrace");function Y(a,u,o){const f=P();if(a===o)throw new TypeError(Q);if(a[X]===A){let k=null;try{("object"==typeof o||"function"==typeof o)&&(k=o&&o.then)}catch(R){return f(()=>{Y(a,!1,R)})(),a}if(u!==V&&o instanceof c&&o.hasOwnProperty(X)&&o.hasOwnProperty(C)&&o[X]!==A)re(o),Y(a,o[X],o[C]);else if(u!==V&&"function"==typeof k)try{k.call(o,f(I(a,u)),f(I(a,!1)))}catch(R){f(()=>{Y(a,!1,R)})()}else{a[X]=u;const R=a[C];if(a[C]=o,a[T]===T&&u===y&&(a[X]=a[G],a[C]=a[J]),u===V&&o instanceof Error){const g=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];g&&i(o,oe,{configurable:!0,enumerable:!1,writable:!0,value:g})}for(let g=0;g{try{const S=a[C],Z=!!o&&T===o[T];Z&&(o[J]=S,o[G]=R);const D=u.run(g,void 0,Z&&g!==K&&g!==x?[]:[S]);Y(o,!0,D)}catch(S){Y(o,!1,S)}},o)}const j=function(){},h=e.AggregateError;class c{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return Y(new this(null),y,u)}static reject(u){return Y(new this(null),V,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new h([],"All promises were rejected"));const o=[];let f=0;try{for(let g of u)f++,o.push(c.resolve(g))}catch{return Promise.reject(new h([],"All promises were rejected"))}if(0===f)return Promise.reject(new h([],"All promises were rejected"));let k=!1;const R=[];return new c((g,S)=>{for(let Z=0;Z{k||(k=!0,g(D))},D=>{R.push(D),f--,0===f&&(k=!0,S(new h(R,"All promises were rejected")))})})}static race(u){let o,f,k=new this((S,Z)=>{o=S,f=Z});function R(S){o(S)}function g(S){f(S)}for(let S of u)U(S)||(S=this.resolve(S)),S.then(R,g);return k}static all(u){return c.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof c?this:c).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,o){let f,k,R=new this((D,F)=>{f=D,k=F}),g=2,S=0;const Z=[];for(let D of u){U(D)||(D=this.resolve(D));const F=S;try{D.then(B=>{Z[F]=o?o.thenCallback(B):B,g--,0===g&&f(Z)},B=>{o?(Z[F]=o.errorCallback(B),g--,0===g&&f(Z)):k(B)})}catch(B){k(B)}g++,S++}return g-=2,0===g&&f(Z),R}constructor(u){const o=this;if(!(o instanceof c))throw new Error("Must be an instanceof Promise.");o[X]=A,o[C]=[];try{const f=P();u&&u(f(I(o,y)),f(I(o,V)))}catch(f){Y(o,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return c}then(u,o){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||c);const k=new f(j),R=n.current;return this[X]==A?this[C].push(R,k,u,o):ee(this,R,k,u,o),k}catch(u){return this.then(null,u)}finally(u){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=c);const f=new o(j);f[T]=T;const k=n.current;return this[X]==A?this[C].push(k,f,u,u):ee(this,k,f,u,u),f}}c.resolve=c.resolve,c.reject=c.reject,c.race=c.race,c.all=c.all;const t=e[v]=e.Promise;e.Promise=c;const _=p("thenPatched");function w(a){const u=a.prototype,o=r(u,"then");if(o&&(!1===o.writable||!o.configurable))return;const f=u.then;u[m]=f,a.prototype.then=function(k,R){return new c((S,Z)=>{f.call(this,S,Z)}).then(k,R)},a[_]=!0}return s.patchThen=w,t&&(w(t),ae(e,"fetch",a=>function L(a){return function(u,o){let f=a.apply(u,o);if(f instanceof c)return f;let k=f.constructor;return k[_]||w(k),f}}(a))),Promise[n.__symbol__("uncaughtPromiseErrors")]=E,c}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,s=H("OriginalDelegate"),r=H("Promise"),i=H("Error"),l=function(){if("function"==typeof this){const v=this[s];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[i];if(m)return n.call(m)}}return n.call(this)};l[s]=n,Function.prototype.toString=l;const p=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":p.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=H("propagationStopped");function Je(e,n){const s=(n?n(e):e)+ce,r=(n?n(e):e)+ie,i=me+s,l=me+r;te[e]={},te[e][ce]=i,te[e][ie]=l}function dt(e,n,s,r){const i=r&&r.add||Ze,l=r&&r.rm||De,p=r&&r.listeners||"eventListeners",E=r&&r.rmAll||"removeAllListeners",b=H(i),v="."+i+":",m="prependListener",M="."+m+":",O=function(C,T,J){if(C.isRemoved)return;const G=C.callback;let z;"object"==typeof G&&G.handleEvent&&(C.callback=y=>G.handleEvent(y),C.originalDelegate=G);try{C.invoke(C,T,[J])}catch(y){z=y}const A=C.options;return A&&"object"==typeof A&&A.once&&T[l].call(T,J.type,C.originalDelegate?C.originalDelegate:C.callback,A),z};function N(C,T,J){if(!(T=T||e.event))return;const G=C||T.target||e,z=G[te[T.type][J?ie:ce]];if(z){const A=[];if(1===z.length){const y=O(z[0],G,T);y&&A.push(y)}else{const y=z.slice();for(let V=0;V{throw V})}}}const U=function(C){return N(this,C,!1)},x=function(C){return N(this,C,!0)};function K(C,T){if(!C)return!1;let J=!0;T&&void 0!==T.useG&&(J=T.useG);const G=T&&T.vh;let z=!0;T&&void 0!==T.chkDup&&(z=T.chkDup);let A=!1;T&&void 0!==T.rt&&(A=T.rt);let y=C;for(;y&&!y.hasOwnProperty(i);)y=ve(y);if(!y&&C[i]&&(y=C),!y||y[b])return!1;const V=T&&T.eventNameToString,d={},I=y[b]=y[i],P=y[H(l)]=y[l],Q=y[H(p)]=y[p],oe=y[H(E)]=y[E];let Y;T&&T.prepend&&(Y=y[H(T.prepend)]=y[T.prepend]);const c=J?function(o){if(!d.isExisting)return I.call(d.target,d.eventName,d.capture?x:U,d.options)}:function(o){return I.call(d.target,d.eventName,o.invoke,d.options)},t=J?function(o){if(!o.isRemoved){const f=te[o.eventName];let k;f&&(k=f[o.capture?ie:ce]);const R=k&&o.target[k];if(R)for(let g=0;gfunction(i,l){i[$e]=!0,r&&r.apply(i,l)})}function Et(e,n,s,r,i){const l=Zone.__symbol__(r);if(n[l])return;const p=n[l]=n[r];n[r]=function(E,b,v){return b&&b.prototype&&i.forEach(function(m){const M=`${s}.${r}::`+m,O=b.prototype;try{if(O.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(O,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,m,N)):O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}else O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}catch{}}),p.call(n,E,b,v)},e.attachOriginToPatched(n[r],p)}function Qe(e,n,s){if(!s||0===s.length)return n;const r=s.filter(l=>l.target===e);if(!r||0===r.length)return n;const i=r[0].ignoreProperties;return n.filter(l=>-1===i.indexOf(l))}function et(e,n,s,r){e&&qe(e,Qe(e,n,s),r)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,s)=>{const r=He(e);s.patchOnProperties=qe,s.patchMethod=ae,s.bindArguments=Le,s.patchMacroTask=lt;const i=n.__symbol__("BLACK_LISTED_EVENTS"),l=n.__symbol__("UNPATCHED_EVENTS");e[l]&&(e[i]=e[l]),e[i]&&(n[i]=n[l]=e[i]),s.patchEventPrototype=_t,s.patchEventTarget=dt,s.isIEOrEdge=ft,s.ObjectDefineProperty=pe,s.ObjectGetOwnPropertyDescriptor=ue,s.ObjectCreate=Se,s.ArraySlice=it,s.patchClass=ge,s.wrapWithCurrentZone=Ie,s.filterProperties=Qe,s.attachOriginToPatched=le,s._redefineProperty=Object.defineProperty,s.patchCallbacks=Et,s.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:r,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=H("zoneTask");function Te(e,n,s,r){let i=null,l=null;s+=r;const p={};function E(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=i.apply(e,m.args),v}function b(v){return l.call(e,v.data.handleId)}i=ae(e,n+=r,v=>function(m,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete p[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const U=Me(n,M[0],O,E,b);if(!U)return U;const x=U.data.handleId;return"number"==typeof x?p[x]=U:x&&(x[Re]=U),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(U.ref=x.ref.bind(x),U.unref=x.unref.bind(x)),"number"==typeof x||x?x:U}return v.apply(e,M)}),l=ae(e,s,v=>function(m,M){const O=M[0];let N;"number"==typeof O?N=p[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete p[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",s="clear";Te(e,n,s,"Timeout"),Te(e,n,s,"Interval"),Te(e,n,s,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const s=["alert","prompt","confirm"];for(let r=0;rfunction(b,v){return n.current.run(l,e,v,E)})}),Zone.__load_patch("EventTarget",(e,n,s)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,s),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:s,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,s)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,s)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,s)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const s=n.__Zone_ignore_on_properties;let r=[];if(Ae){const i=window;r=r.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const l=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];et(i,He(i),s&&s.concat(l),ve(i))}r=r.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{!function pt(e,n){const{isBrowser:s,isMix:r}=n.getGlobalObjects();(s||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,s)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const M=m.prototype;let N=M[Oe],U=M[Ne];if(!N){const d=v.XMLHttpRequestEventTarget;if(d){const I=d.prototype;N=I[Oe],U=I[Ne]}}const x="readystatechange",K="scheduled";function X(d){const I=d.data,P=I.target;P[l]=!1,P[E]=!1;const Q=P[i];N||(N=P[Oe],U=P[Ne]),Q&&U.call(P,x,Q);const oe=P[i]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[l]&&d.state===K){const W=P[n.__symbol__("loadfalse")];if(0!==P.status&&W&&W.length>0){const re=d.invoke;d.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let q=0;qfunction(d,I){return d[r]=0==I[2],d[p]=I[1],J.apply(d,I)}),z=H("fetchTaskAborting"),A=H("fetchTaskScheduling"),y=ae(M,"send",()=>function(d,I){if(!0===n.current[A]||d[r])return y.apply(d,I);{const P={target:d,url:d[p],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",C,P,X,T);d&&!0===d[E]&&!P.aborted&&Q.state===K&&Q.invoke()}}),V=ae(M,"abort",()=>function(d,I){const P=function O(d){return d[s]}(d);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[z])return V.apply(d,I)})}(e);const s=H("xhrTask"),r=H("xhrSync"),i=H("xhrListener"),l=H("xhrScheduled"),p=H("xhrURL"),E=H("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const s=e.constructor.name;for(let r=0;r{const b=function(){return E.apply(this,Le(arguments,s+"."+i))};return le(b,E),b})(l)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function s(r){return function(i){Ke(e,r).forEach(p=>{const E=e.PromiseRejectionEvent;if(E){const b=new E(r,{promise:i.promise,reason:i.rejection});p.invoke(b)}})}}e.PromiseRejectionEvent&&(n[H("unhandledPromiseRejectionHandler")]=s("unhandledrejection"),n[H("rejectionHandledHandler")]=s("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,s)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",s=>function(r,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(e,s)})}},ue=>{ue(ue.s=332)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css deleted file mode 100644 index 37ec3a42..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css +++ /dev/null @@ -1,5 +0,0 @@ -@charset "UTF-8";h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}/*! - * Bootstrap v5.3.1 (https://getbootstrap.com/) - * Copyright 2011-2023 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css new file mode 100644 index 00000000..4fce2ebe --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css @@ -0,0 +1,5 @@ +@charset "UTF-8";h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} From a4396026aebcfd308bba127f084d8c3e1cb2f7a7 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 25 Mar 2024 14:57:35 -0600 Subject: [PATCH 06/61] Added new lines --- clinguin/server/application/backends/clingo_backend.py | 1 + .../server/application/backends/clingo_multishot_backend.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index b3fc54ae..6cc5b4b4 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -346,6 +346,7 @@ def _ds_cautious(self): if "_ds_cautious" in self._backup_ds_cache else "" ) + return "\n".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n" @cached_property diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index c866fe99..66884f64 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -58,9 +58,9 @@ def _ds_assume(self): Includes predicate ``_clinguin_assume/1`` for every atom that was assumed. """ - prg = "#defined _clinguin_assume/1. " + prg = "#defined _clinguin_assume/1.\n" for a in self._assumptions: - prg += f"_clinguin_assume({str(a)}). " + prg += f"_clinguin_assume({str(a)}).\n" return prg + "\n" # --------------------------------------------- From 921aa460ffce89284ca25445e8a95d053b437e49 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 26 Mar 2024 18:01:39 -0600 Subject: [PATCH 07/61] Fix clingo-dl backend and -c argument --- .../clinguin_angular_frontend/assets/config.json | 2 +- clinguin/server/application/backends/clingo_backend.py | 2 +- clinguin/server/application/backends/clingodl_backend.py | 9 +++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..b5e6ad70 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 6cc5b4b4..b9fcf864 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -84,7 +84,7 @@ def register_options(cls, parser): parser.add_argument( "-c", "--const", - nargs="+", + action="append", help="Constant passed to clingo, = replaces term occurrences of with ", metavar="", ) diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 0b2f34df..80f383a3 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -2,7 +2,6 @@ Module that contains the ClingoDL Backend. """ - from pathlib import Path from clingo import Control @@ -27,6 +26,11 @@ class ClingoDLBackend(ClingoMultishotBackend): def __init__(self, args): super().__init__(args) + # Model should be the last call so that the on_model takes the assignment of the model + # and not of the cautious consequences + self._domain_state_constructors.remove("_ds_model") + self._add_domain_state_constructor("_ds_model") + self._add_domain_state_constructor("_ds_assign") # --------------------------------------------- @@ -76,7 +80,8 @@ def _on_model(self, model): self._theory.on_model(model) # pylint: disable=attribute-defined-outside-init self._assignment = list( - (key, val) for key, val in self._theory.assignment(model.thread_id)) + (key, val) for key, val in self._theory.assignment(model.thread_id) + ) # --------------------------------------------- # Domain state From e6f262037e7aa17f65d1b96ad18294e0437e26da Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 27 Mar 2024 15:36:32 -0600 Subject: [PATCH 08/61] Better erro handling --- .../clinguin_angular_frontend/assets/config.json | 2 +- .../angular_frontend/clinguin_angular_frontend/index.html | 4 ++-- .../clinguin_angular_frontend/main.2f2245baa16ee8e3.js | 1 + .../clinguin_angular_frontend/main.7a34beb52ad3b6df.js | 1 - .../clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js | 1 - .../clinguin_angular_frontend/polyfills.c3c1ec5412338255.js | 1 + .../clinguin_angular_frontend/styles.60758c8c825da6c0.css | 5 +++++ .../clinguin_angular_frontend/styles.f277f9f97c8ac5df.css | 5 ----- clinguin/parse_input.py | 4 ++++ clinguin/server/application/backends/clingo_backend.py | 4 +++- clinguin/server/presentation/endpoints_helper.py | 3 ++- 11 files changed, 19 insertions(+), 12 deletions(-) create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index b5e6ad70..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1 @@ -{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 627b136d..ee2829be 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -8,8 +8,8 @@ - + - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js new file mode 100644 index 00000000..6463cba0 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js @@ -0,0 +1 @@ +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(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 gg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function OE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(fg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function LE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function HE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(QE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class PS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function BS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={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=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let mT=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&R_;t.data[e+(r>>P_)]|=1<=0?t&R_:CT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Jd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},iI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class yI{}class Km{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function Cf(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 Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function PN(e,t,i,n){if(n)ed(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function hx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return Q0(Ut(),A())}const Zx=Cn,Z0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function ZR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function xS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Jt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:nP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function JR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const yP=O1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class RP{}const Kt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends vk{static makeCurrent(){!function xP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/"},rp=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=O1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Fk(){ep.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){zd=e}(document),document},deps:[]}]),Vk=new W(""),Vb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:tp,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:tp,useClass:Pk,multi:!0,deps:[Kt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),eD=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:g2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:o2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=$t.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),console.log("Handle event"),a.length>0&&""!=o){if("load"==s)return console.log("Load"),void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&pD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Fu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function mp(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function qD(e,t){return vp(t).filter(i=>!eu(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Pp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Vw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Hp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Pw(e),t,Pw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[jn]/2:0,ag=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[jn],mo[jn]),lg=P?ue[jn]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?fu(Mu,gi+lg-uE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Ou="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],ug=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=ug?hE:is-ue[Ou]-_e[Ou]-gE+Dt.altAxis,mE=ug?is+ue[Ou]+_e[Ou]-gE-Dt.altAxis:pE,vE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&bC(_,a):"outside"===i?!bu(_,s):bC(_,a)||!bu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Vu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Kc,gp,uu,JD,QD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Hk,QL,JL,bb,v2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[uD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js deleted file mode 100644 index 06a17fe7..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.7a34beb52ad3b6df.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(Ci,Zt,Ue)=>{"use strict";function $(t){return"function"==typeof t}function ft(t){const e=t(i=>{Error.call(i),i.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}const Ye=ft(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e});function Be(t,n){if(t){const e=t.indexOf(n);0<=e&&t.splice(e,1)}}class me{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:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const o of e)o.remove(this);else e.remove(this);const{initialTeardown:i}=this;if($(i))try{i()}catch(o){n=o instanceof Ye?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{S(o)}catch(s){n=n??[],s instanceof Ye?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Ye(n)}}add(n){var e;if(n&&n!==this)if(this.closed)S(n);else{if(n instanceof me){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(n)}}_hasParent(n){const{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){const{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Be(e,n)}remove(n){const{_finalizers:e}=this;e&&Be(e,n),n instanceof me&&n._removeParent(this)}}me.EMPTY=(()=>{const t=new me;return t.closed=!0,t})();const De=me.EMPTY;function je(t){return t instanceof me||t&&"closed"in t&&$(t.remove)&&$(t.add)&&$(t.unsubscribe)}function S(t){$(t)?t():t.unsubscribe()}const ht={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},$e={setTimeout(t,n,...e){const{delegate:i}=$e;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){const{delegate:n}=$e;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function pt(t){$e.setTimeout(()=>{const{onUnhandledError:n}=ht;if(!n)throw t;n(t)})}function vt(){}const Q=Ze("C",void 0,void 0);function Ze(t,n,e){return{kind:t,value:n,error:e}}let Je=null;function Re(t){if(ht.useDeprecatedSynchronousErrorHandling){const n=!Je;if(n&&(Je={errorThrown:!1,error:null}),t(),n){const{errorThrown:e,error:i}=Je;if(Je=null,e)throw i}}else t()}class ln extends me{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,je(n)&&n.add(this)):this.destination=ao}static create(n,e,i){return new Ni(n,e,i)}next(n){this.isStopped?wr(function we(t){return Ze("N",t,void 0)}(n),this):this._next(n)}error(n){this.isStopped?wr(function pe(t){return Ze("E",void 0,t)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?wr(Q,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 xt=Function.prototype.bind;function bt(t,n){return xt.call(t,n)}class Dr{constructor(n){this.partialObserver=n}next(n){const{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Ei(i)}}error(n){const{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Ei(i)}else Ei(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Ei(e)}}}class Ni extends ln{constructor(n,e,i){let r;if(super(),$(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&ht.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&bt(n.next,o),error:n.error&&bt(n.error,o),complete:n.complete&&bt(n.complete,o)}):r=n}this.destination=new Dr(r)}}function Ei(t){ht.useDeprecatedSynchronousErrorHandling?function Ot(t){ht.useDeprecatedSynchronousErrorHandling&&Je&&(Je.errorThrown=!0,Je.error=t)}(t):pt(t)}function wr(t,n){const{onStoppedNotification:e}=ht;e&&$e.setTimeout(()=>e(t,n))}const ao={closed:!0,next:vt,error:function ms(t){throw t},complete:vt},Cr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Si(t){return t}let qe=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){const o=function ys(t){return t&&t instanceof ln||function co(t){return t&&$(t.next)&&$(t.error)&&$(t.complete)}(t)&&je(t)}(e)?e:new Ni(e,i,r);return Re(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return new(i=lo(i))((r,o)=>{const s=new Ni({next:a=>{try{e(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(e)}[Cr](){return this}pipe(...e){return function Nr(t){return 0===t.length?Si:1===t.length?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=lo(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function lo(t){var n;return null!==(n=t??ht.Promise)&&void 0!==n?n:Promise}const uo=ft(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let re=(()=>{class t extends qe{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){const i=new Ht(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new uo}next(e){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(e)}})}error(e){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;const{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){Re(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){const{hasError:i,isStopped:r,observers:o}=this;return i||r?De:(this.currentObservers=null,o.push(e),new me(()=>{this.currentObservers=null,Be(o,e)}))}_checkFinalizedStatuses(e){const{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){const e=new qe;return e.source=this,e}}return t.create=(n,e)=>new Ht(n,e),t})();class Ht extends re{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,n)}error(n){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,n)}complete(){var n,e;null===(e=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===e||e.call(n)}_subscribe(n){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(n))&&void 0!==i?i:De}}class fo extends re{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){const{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function Dt(t){return n=>{if(function ho(t){return $(t?.lift)}(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function st(t,n,e,i,r){return new po(t,n,e,i,r)}class po extends ln{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:e}=this;super.unsubscribe(),!e&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Ut(t,n){return Dt((e,i)=>{let r=0;e.subscribe(st(i,o=>{i.next(t.call(n,o,r++))}))})}function Jt(t){return this instanceof Jt?(this.v=t,this):new Jt(t)}function Xa(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=function _e(t){var n="function"==typeof Symbol&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=t[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Cu=t=>t&&"number"==typeof t.length&&"function"!=typeof t;function Wp(t){return $(t?.then)}function qp(t){return $(t[Cr])}function Xp(t){return Symbol.asyncIterator&&$(t?.[Symbol.asyncIterator])}function Kp(t){return new TypeError(`You provided ${null!==t&&"object"==typeof t?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Yp=function aN(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Zp(t){return $(t?.[Yp])}function Jp(t){return function tt(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=e.apply(t,n||[]),o=[];return r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r;function s(g){i[g]&&(r[g]=function(m){return new Promise(function(b,v){o.push([g,m,b,v])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Jt?Promise.resolve(g.value.v).then(c,u):h(o[0][2],g)}(i[g](m))}catch(b){h(o[0][3],b)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,m){g(m),o.shift(),o.length&&a(o[0][0],o[0][1])}}(this,arguments,function*(){const e=t.getReader();try{for(;;){const{value:i,done:r}=yield Jt(e.read());if(r)return yield Jt(void 0);yield yield Jt(i)}}finally{e.releaseLock()}})}function Qp(t){return $(t?.getReader)}function $t(t){if(t instanceof qe)return t;if(null!=t){if(qp(t))return function lN(t){return new qe(n=>{const e=t[Cr]();if($(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(t);if(Cu(t))return function cN(t){return new qe(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,pt)})}(t);if(Xp(t))return eg(t);if(Zp(t))return function dN(t){return new qe(n=>{for(const e of t)if(n.next(e),n.closed)return;n.complete()})}(t);if(Qp(t))return function fN(t){return eg(Jp(t))}(t)}throw Kp(t)}function eg(t){return new qe(n=>{(function hN(t,n){var e,i,r,o;return function D(t,n,e,i){return new(e||(e=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(h){s(h)}}function l(u){try{c(i.throw(u))}catch(h){s(h)}}function c(u){u.done?o(u.value):function r(o){return o instanceof e?o:new e(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}(this,void 0,void 0,function*(){try{for(e=Xa(t);!(i=yield e.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})})(t,n).catch(e=>n.error(e))})}function or(t,n,e,i=0,r=!1){const o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function mo(t,n,e=1/0){return $(n)?mo((i,r)=>Ut((o,s)=>n(i,o,r,s))($t(t(i,r))),e):("number"==typeof n&&(e=n),Dt((i,r)=>function pN(t,n,e,i,r,o,s,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&n.complete()},m=v=>c{o&&n.next(v),c++;let N=!1;$t(e(v,u++)).subscribe(st(n,T=>{r?.(T),o?m(T):n.next(T)},()=>{N=!0},void 0,()=>{if(N)try{for(c--;l.length&&cb(T)):b(T)}g()}catch(T){n.error(T)}}))};return t.subscribe(st(n,m,()=>{h=!0,g()})),()=>{a?.()}}(i,r,t,e)))}function tg(t=1/0){return mo(Si,t)}const bs=new qe(t=>t.complete());function ng(t){return t&&$(t.schedule)}function Nu(t){return t[t.length-1]}function Eu(t){return $(Nu(t))?t.pop():void 0}function Ka(t){return ng(Nu(t))?t.pop():void 0}function ig(t,n=0){return Dt((e,i)=>{e.subscribe(st(i,r=>or(i,t,()=>i.next(r),n),()=>or(i,t,()=>i.complete(),n),r=>or(i,t,()=>i.error(r),n)))})}function rg(t,n=0){return Dt((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function og(t,n){if(!t)throw new Error("Iterable cannot be null");return new qe(e=>{or(e,n,()=>{const i=t[Symbol.asyncIterator]();or(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function Ds(t,n){return n?function wN(t,n){if(null!=t){if(qp(t))return function _N(t,n){return $t(t).pipe(rg(n),ig(n))}(t,n);if(Cu(t))return function vN(t,n){return new qe(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}(t,n);if(Wp(t))return function yN(t,n){return $t(t).pipe(rg(n),ig(n))}(t,n);if(Xp(t))return og(t,n);if(Zp(t))return function bN(t,n){return new qe(e=>{let i;return or(e,n,()=>{i=t[Yp](),or(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void e.error(s)}o?e.complete():e.next(r)},0,!0)}),()=>$(i?.return)&&i.return()})}(t,n);if(Qp(t))return function DN(t,n){return og(Jp(t),n)}(t,n)}throw Kp(t)}(t,n):$t(t)}function _o(...t){return Ds(t,Ka(t))}function ag(t={}){const{connector:n=(()=>new re),resetOnError:e=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=t;return o=>{let s,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},m=()=>{g(),s=l=void 0,u=h=!1},b=()=>{const v=s;m(),v?.unsubscribe()};return Dt((v,N)=>{c++,!h&&!u&&g();const T=l=l??n();N.add(()=>{c--,0===c&&!h&&!u&&(a=Su(b,r))}),T.subscribe(N),!s&&c>0&&(s=new Ni({next:w=>T.next(w),error:w=>{h=!0,g(),a=Su(m,e,w),T.error(w)},complete:()=>{u=!0,g(),a=Su(m,i),T.complete()}}),$t(v).subscribe(s))})(o)}}function Su(t,n,...e){if(!0===n)return void t();if(!1===n)return;const i=new Ni({next:()=>{i.unsubscribe(),t()}});return $t(n(...e)).subscribe(i)}function Tu(t,n){return Dt((e,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();e.subscribe(st(i,l=>{r?.unsubscribe();let c=0;const u=o++;$t(t(l,u)).subscribe(r=st(i,h=>i.next(n?n(l,h,u,c++):h),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function CN(t,n){return t===n}function Pe(t){for(let n in t)if(t[n]===Pe)return n;throw Error("Could not find renamed property on target object.")}function Ya(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function Rt(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Rt).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function Mu(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const NN=Pe({__forward_ref__:Pe});function de(t){return t.__forward_ref__=de,t.toString=function(){return Rt(this())},t}function ie(t){return Iu(t)?t():t}function Iu(t){return"function"==typeof t&&t.hasOwnProperty(NN)&&t.__forward_ref__===de}function Au(t){return t&&!!t.\u0275providers}const cg="https://g.co/ng/security#xss";class F extends Error{constructor(n,e){super(function Za(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function oe(t){return"string"==typeof t?t:null==t?"":String(t)}function Ja(t,n){throw new F(-201,!1)}function Yn(t,n){null==t&&function Ie(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function z(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Ae(t){return{providers:t.providers||[],imports:t.imports||[]}}function Qa(t){return ug(t,el)||ug(t,fg)}function ug(t,n){return t.hasOwnProperty(n)?t[n]:null}function dg(t){return t&&(t.hasOwnProperty(Ou)||t.hasOwnProperty(ON))?t[Ou]:null}const el=Pe({\u0275prov:Pe}),Ou=Pe({\u0275inj:Pe}),fg=Pe({ngInjectableDef:Pe}),ON=Pe({ngInjectorDef:Pe});var ne=(()=>((ne=ne||{})[ne.Default=0]="Default",ne[ne.Host=1]="Host",ne[ne.Self=2]="Self",ne[ne.SkipSelf=4]="SkipSelf",ne[ne.Optional=8]="Optional",ne))();let xu;function bn(t){const n=xu;return xu=t,n}function pg(t,n,e){const i=Qa(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&ne.Optional?null:void 0!==n?n:void Ja(Rt(t))}const Ge=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),ws={},Ru="__NG_DI_FLAG__",tl="ngTempTokenPath",RN=/\n/gm,gg="__source";let yo;function ar(t){const n=yo;return yo=t,n}function kN(t,n=ne.Default){if(void 0===yo)throw new F(-203,!1);return null===yo?pg(t,void 0,n):yo.get(t,n&ne.Optional?null:void 0,n)}function B(t,n=ne.Default){return(function hg(){return xu}()||kN)(ie(t),n)}function ye(t,n=ne.Default){return B(t,nl(n))}function nl(t){return typeof t>"u"||"number"==typeof t?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Pu(t){const n=[];for(let e=0;e((Mi=Mi||{})[Mi.OnPush=0]="OnPush",Mi[Mi.Default=1]="Default",Mi))(),Fn=(()=>{return(t=Fn||(Fn={}))[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",Fn;var t})();const Ii={},Ee=[],il=Pe({\u0275cmp:Pe}),Fu=Pe({\u0275dir:Pe}),ku=Pe({\u0275pipe:Pe}),_g=Pe({\u0275mod:Pe}),Xi=Pe({\u0275fac:Pe}),Ns=Pe({__NG_ELEMENT_ID__:Pe}),yg=Pe({__NG_ENV_ID__:Pe});function vg(t,n,e){let i=t.length;for(;;){const r=t.indexOf(n,e);if(-1===r)return r;if(0===r||t.charCodeAt(r-1)<=32){const o=n.length;if(r+o===i||t.charCodeAt(r+o)<=32)return r}e=r+1}}function Lu(t,n,e){let i=0;for(;in){s=o-1;break}}}for(;oo?"":r[h+1].toLowerCase();const m=8&i?g:null;if(m&&-1!==vg(m,c,0)||2&i&&c!==g){if(si(i))return!1;s=!0}}}}else{if(!s&&!si(i)&&!si(l))return!1;if(s&&si(l))continue;s=!1,i=l|1&i}}return si(i)||s}function si(t){return 0==(1&t)}function $N(t,n,e,i){if(null===n)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!si(s)&&(n+=Sg(o,r),r=""),i=s,o=o||!si(i);e++}return""!==r&&(n+=Sg(o,r)),n}function Qe(t){return qi(()=>{const n=Ig(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===Mi.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||Fn.Emulated,styles:t.styles||Ee,_:null,schemas:t.schemas||null,tView:null,id:""};Ag(e);const i=t.dependencies;return e.directiveDefs=rl(i,!1),e.pipeDefs=rl(i,!0),e.id=function tE(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const r of e)n=Math.imul(31,n)+r.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(e),e})}function ZN(t){return Se(t)||Qt(t)}function JN(t){return null!==t}function Fe(t){return qi(()=>({type:t.type,bootstrap:t.bootstrap||Ee,declarations:t.declarations||Ee,imports:t.imports||Ee,exports:t.exports||Ee,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Mg(t,n){if(null==t)return Ii;const e={};for(const i in t)if(t.hasOwnProperty(i)){let r=t[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,n&&(n[r]=o)}return e}function k(t){return qi(()=>{const n=Ig(t);return Ag(n),n})}function Se(t){return t[il]||null}function Qt(t){return t[Fu]||null}function wn(t){return t[ku]||null}function Ig(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:t.inputs||Ii,exportAs:t.exportAs||null,standalone:!0===t.standalone,signals:!0===t.signals,selectors:t.selectors||Ee,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Mg(t.inputs,n),outputs:Mg(t.outputs)}}function Ag(t){t.features?.forEach(n=>n(t))}function rl(t,n){if(!t)return null;const e=n?wn:ZN;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(JN)}const Pt=0,G=1,se=2,lt=3,ai=4,Ts=5,en=6,vo=7,wt=8,bo=9,Sr=10,ae=11,Ms=12,Og=13,Do=14,Ct=15,Is=16,wo=17,Ai=18,As=19,xg=20,lr=21,Ki=22,ol=23,sl=24,ve=25,Bu=1,Rg=2,Oi=7,Co=9,tn=11;function Ln(t){return Array.isArray(t)&&"object"==typeof t[Bu]}function Cn(t){return Array.isArray(t)&&!0===t[Bu]}function Vu(t){return 0!=(4&t.flags)}function Tr(t){return t.componentOffset>-1}function ll(t){return 1==(1&t.flags)}function li(t){return!!t.template}function Hu(t){return 0!=(512&t[se])}function Mr(t,n){return t.hasOwnProperty(Xi)?t[Xi]:null}let aE=Ge.WeakRef??class sE{constructor(n){this.ref=n}deref(){return this.ref}},cE=0,xi=null,cl=!1;function Gt(t){const n=xi;return xi=t,n}class Bg{constructor(){this.id=cE++,this.ref=function lE(t){return new aE(t)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[n,e]of this.producers){const i=e.producerNode.deref();if(void 0!==i&&e.atTrackingVersion===this.trackingVersion){if(i.producerPollStatus(e.seenValueVersion))return!0}else this.producers.delete(n),i?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const n=cl;cl=!0;try{for(const[e,i]of this.consumers){const r=i.consumerNode.deref();void 0!==r&&r.trackingVersion===i.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(e),r?.producers.delete(this.id))}}finally{cl=n}}producerAccessed(){if(cl)throw new Error("");if(null===xi)return;let n=xi.producers.get(this.id);void 0===n?(n={consumerNode:xi.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:xi.trackingVersion},xi.producers.set(this.id,n),this.consumers.set(xi.id,n)):(n.seenValueVersion=this.valueVersion,n.atTrackingVersion=xi.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==xi?.consumerAllowSignalWrites}producerPollStatus(n){return this.valueVersion!==n||(this.onProducerUpdateValueVersion(),this.valueVersion!==n)}}let Vg=null;const Ug=()=>{};class hE extends Bg{constructor(n,e,i){super(),this.watch=n,this.schedule=e,this.dirty=!1,this.cleanupFn=Ug,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=i}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const n=Gt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=Ug,this.watch(this.registerOnCleanup)}finally{Gt(n)}}cleanup(){this.cleanupFn()}}class pE{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function un(){return jg}function jg(t){return t.type.prototype.ngOnChanges&&(t.setInput=mE),gE}function gE(){const t=Gg(this),n=t?.current;if(n){const e=t.previous;if(e===Ii)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function mE(t,n,e,i){const r=this.declaredInputs[e],o=Gg(t)||function _E(t,n){return t[$g]=n}(t,{previous:Ii,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new pE(l&&l.currentValue,n,a===Ii),t[i]=n}un.ngInherit=!0;const $g="__ngSimpleChanges__";function Gg(t){return t[$g]||null}const Ri=function(t,n,e){};function et(t){for(;Array.isArray(t);)t=t[Pt];return t}function fl(t,n){return et(n[t])}function Nn(t,n){return et(n[t.index])}function qg(t,n){return t.data[n]}function Bn(t,n){const e=n[t];return Ln(e)?e:e[Pt]}function cr(t,n){return null==n?null:t[n]}function Xg(t){t[wo]=0}function NE(t){1024&t[se]||(t[se]|=1024,Yg(t,1))}function Kg(t){1024&t[se]&&(t[se]&=-1025,Yg(t,-1))}function Yg(t,n){let e=t[lt];if(null===e)return;e[Ts]+=n;let i=e;for(e=e[lt];null!==e&&(1===n&&1===i[Ts]||-1===n&&0===i[Ts]);)e[Ts]+=n,i=e,e=e[lt]}const te={lFrame:am(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Qg(){return te.bindingsEnabled}function Eo(){return null!==te.skipHydrationRootTNode}function A(){return te.lFrame.lView}function be(){return te.lFrame.tView}function dn(t){return te.lFrame.contextLView=t,t[wt]}function fn(t){return te.lFrame.contextLView=null,t}function zt(){let t=em();for(;null!==t&&64===t.type;)t=t.parent;return t}function em(){return te.lFrame.currentTNode}function Pi(t,n){const e=te.lFrame;e.currentTNode=t,e.isParent=n}function Wu(){return te.lFrame.isParent}function qu(){te.lFrame.isParent=!1}function So(){return te.lFrame.bindingIndex++}function Zi(t){const n=te.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function kE(t,n){const e=te.lFrame;e.bindingIndex=e.bindingRootIndex=t,Xu(n)}function Xu(t){te.lFrame.currentDirectiveIndex=t}function rm(){return te.lFrame.currentQueryIndex}function Yu(t){te.lFrame.currentQueryIndex=t}function BE(t){const n=t[G];return 2===n.type?n.declTNode:1===n.type?t[en]:null}function om(t,n,e){if(e&ne.SkipSelf){let r=n,o=t;for(;!(r=r.parent,null!==r||e&ne.Host||(r=BE(o),null===r||(o=o[Do],10&r.type))););if(null===r)return!1;n=r,t=o}const i=te.lFrame=sm();return i.currentTNode=n,i.lView=t,!0}function Zu(t){const n=sm(),e=t[G];te.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function sm(){const t=te.lFrame,n=null===t?null:t.child;return null===n?am(t):n}function am(t){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:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function lm(){const t=te.lFrame;return te.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const cm=lm;function Ju(){const t=lm();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function pn(){return te.lFrame.selectedIndex}function Ir(t){te.lFrame.selectedIndex=t}function ct(){const t=te.lFrame;return qg(t.tView,t.selectedIndex)}let dm=!0;function hl(){return dm}function ur(t){dm=t}function pl(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[wo]+=65536),(a>13>16&&(3&t[se])===n&&(t[se]+=8192,hm(a,o)):hm(a,o)}const To=-1;class Rs{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function pm(t){return t!==To}function _l(t){return 32767&t}function yl(t,n){let e=function YE(t){return t>>16}(t),i=n;for(;e>0;)i=i[Do],e--;return i}let td=!0;function vl(t){const n=td;return td=t,n}const gm=255,mm=5;let ZE=0;const Fi={};function bl(t,n){const e=_m(t,n);if(-1!==e)return e;const i=n[G];i.firstCreatePass&&(t.injectorIndex=n.length,nd(i.data,t),nd(n,null),nd(i.blueprint,null));const r=id(t,n),o=t.injectorIndex;if(pm(r)){const s=_l(r),a=yl(r,n),l=a[G].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function nd(t,n){t.push(0,0,0,0,0,0,0,0,n)}function _m(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function id(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;null!==r;){if(i=Nm(r),null===i)return To;if(e++,r=r[Do],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return To}function rd(t,n,e){!function JE(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Ns)&&(i=e[Ns]),null==i&&(i=e[Ns]=ZE++);const r=i&gm;n.data[t+(r>>mm)]|=1<=0?n&gm:nS:n}(e);if("function"==typeof o){if(!om(n,t,i))return i&ne.Host?ym(r,0,i):vm(n,e,i,r);try{const s=o(i);if(null!=s||i&ne.Optional)return s;Ja()}finally{cm()}}else if("number"==typeof o){let s=null,a=_m(t,n),l=To,c=i&ne.Host?n[Ct][en]:null;for((-1===a||i&ne.SkipSelf)&&(l=-1===a?id(t,n):n[a+8],l!==To&&Cm(i,!1)?(s=n[G],a=_l(l),n=yl(l,n)):a=-1);-1!==a;){const u=n[G];if(wm(o,a,u.data)){const h=eS(a,n,e,s,i,c);if(h!==Fi)return h}l=n[a+8],l!==To&&Cm(i,n[G].data[a+8]===c)&&wm(o,a,n)?(s=u,a=_l(l),n=yl(l,n)):a=-1}}return r}function eS(t,n,e,i,r,o){const s=n[G],a=s.data[t+8],u=Dl(a,s,e,null==i?Tr(a)&&td:i!=s&&0!=(3&a.type),r&ne.Host&&o===a);return null!==u?Ar(n,s,u,a):Fi}function Dl(t,n,e,i,r){const o=t.providerIndexes,s=n.data,a=1048575&o,l=t.directiveStart,u=o>>20,g=r?a+u:t.directiveEnd;for(let m=i?a:a+u;m=l&&b.type===e)return m}if(r){const m=s[l];if(m&&li(m)&&m.type===e)return l}return null}function Ar(t,n,e,i){let r=t[e];const o=n.data;if(function qE(t){return t instanceof Rs}(r)){const s=r;s.resolving&&function EN(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new F(-200,`Circular dependency in DI detected for ${t}${e}`)}(function Me(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():oe(t)}(o[e]));const a=vl(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?bn(s.injectImpl):null;om(t,i,ne.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&function zE(t,n,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=jg(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}(e,o[e],n)}finally{null!==l&&bn(l),vl(a),s.resolving=!1,cm()}}return r}function wm(t,n,e){return!!(e[n+(t>>mm)]&1<{const n=t.prototype.constructor,e=n[Xi]||od(n),i=Object.prototype;let r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){const o=r[Xi]||od(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function od(t){return Iu(t)?()=>{const n=od(ie(t));return n&&n()}:Mr(t)}function Nm(t){const n=t[G],e=n.type;return 2===e?n.declTNode:1===e?t[en]:null}const Oo="__parameters__";function Ro(t,n,e){return qi(()=>{const i=function sd(t){return function(...e){if(t){const i=t(...e);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const h=l.hasOwnProperty(Oo)?l[Oo]:Object.defineProperty(l,Oo,{value:[]})[Oo];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=t,r.annotationCls=r,r})}function ks(t,n){t.forEach(e=>Array.isArray(e)?ks(e,n):n(e))}function Sm(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function wl(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function Ls(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function lS(t,n,e,i){let r=t.length;if(r==n)t.push(e,i);else if(1===r)t.push(i,t[0]),t[0]=e;else{for(r--,t.push(t[r-1],t[r]);r>n;)t[r]=t[r-2],r--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function ad(t,n){const e=Po(t,n);if(e>=0)return t[1|e]}function Po(t,n){return function Tm(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<((En=En||{})[En.Important=1]="Important",En[En.DashCase=2]="DashCase",En))();const gd=new Map;let xS=0;const _d="__ngContext__";function nn(t,n){Ln(n)?(t[_d]=n[As],function PS(t){gd.set(t[As],t)}(n)):t[_d]=n}let yd;function vd(t,n){return yd(t,n)}function Hs(t){const n=t[lt];return Cn(n)?n[lt]:n}function qm(t){return Km(t[Ms])}function Xm(t){return Km(t[ai])}function Km(t){for(;null!==t&&!Cn(t);)t=t[ai];return t}function Lo(t,n,e,i,r){if(null!=i){let o,s=!1;Cn(i)?o=i:Ln(i)&&(s=!0,i=i[Pt]);const a=et(i);0===t&&null!==e?null==r?e_(n,e,a):Or(n,e,a,r||null,!0):1===t&&null!==e?Or(n,e,a,r||null,!0):2===t?function Rl(t,n,e){const i=Ol(t,n);i&&function QS(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,a,s):3===t&&n.destroyNode(a),null!=o&&function nT(t,n,e,i,r){const o=e[Oi];o!==et(e)&&Lo(n,t,i,o,r);for(let a=tn;a0&&(t[e-1][ai]=i[ai]);const o=wl(t,tn+n);!function zS(t,n){js(t,n,n[ae],2,null,null),n[Pt]=null,n[en]=null}(i[G],i);const s=o[Ai];null!==s&&s.detachView(o[G]),i[lt]=null,i[ai]=null,i[se]&=-129}return i}function Jm(t,n){if(!(256&n[se])){const e=n[ae];n[ol]?.destroy(),n[sl]?.destroy(),e.destroyNode&&js(t,n,e,3,null,null),function XS(t){let n=t[Ms];if(!n)return wd(t[G],t);for(;n;){let e=null;if(Ln(n))e=n[Ms];else{const i=n[tn];i&&(e=i)}if(!e){for(;n&&!n[ai]&&n!==t;)Ln(n)&&wd(n[G],n),n=n[lt];null===n&&(n=t),Ln(n)&&wd(n[G],n),e=n&&n[ai]}n=e}}(n)}}function wd(t,n){if(!(256&n[se])){n[se]&=-129,n[se]|=256,function JS(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[s]():i[-s].unsubscribe(),o+=2}else e[o].call(i[e[o+1]]);null!==i&&(n[vo]=null);const r=n[lr];if(null!==r){n[lr]=null;for(let o=0;o-1){const{encapsulation:o}=t.data[i.directiveStart+r];if(o===Fn.None||o===Fn.Emulated)return null}return Nn(i,e)}}(t,n.parent,e)}function Or(t,n,e,i,r){t.insertBefore(n,e,i,r)}function e_(t,n,e){t.appendChild(n,e)}function t_(t,n,e,i,r){null!==i?Or(t,n,e,i,r):e_(t,n,e)}function Ol(t,n){return t.parentNode(n)}function n_(t,n,e){return r_(t,n,e)}let Nd,Pl,Md,Fl,r_=function i_(t,n,e){return 40&t.type?Nn(t,e):null};function xl(t,n,e,i){const r=Cd(t,i,n),o=n[ae],a=n_(i.parent||n[en],i,n);if(null!=r)if(Array.isArray(e))for(let l=0;lt,createScript:t=>t,createScriptURL:t=>t})}catch{}return Pl}()?.createHTML(t)||t}function $s(){if(void 0!==Md)return Md;if(typeof document<"u")return document;throw new F(210,!1)}function d_(t){return function Id(){if(void 0===Fl&&(Fl=null,Ge.trustedTypes))try{Fl=Ge.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return Fl}()?.createHTML(t)||t}class p_{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${cg})`}}function dr(t){return t instanceof p_?t.changingThisBreaksApplicationSecurity:t}function Gs(t,n){const e=function pT(t){return t instanceof p_&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${cg})`)}return e===n}class gT{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Bo(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class mT{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Bo(n),e}}const yT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ad(t){return(t=String(t)).match(yT)?t:"unsafe:"+t}function Ji(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function zs(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const m_=Ji("area,br,col,hr,img,wbr"),__=Ji("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),y_=Ji("rp,rt"),Od=zs(m_,zs(__,Ji("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),zs(y_,Ji("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),zs(y_,__)),xd=Ji("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),v_=zs(xd,Ji("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Ji("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vT=Ji("script,style,template");class bT{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let r=this.checkClobberedElement(e,e.nextSibling);if(r){e=r;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(n){const e=n.nodeName.toLowerCase();if(!Od.hasOwnProperty(e))return this.sanitizedSomething=!0,!vT.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const e=n.nodeName.toLowerCase();Od.hasOwnProperty(e)&&!m_.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(b_(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const DT=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,wT=/([^\#-~ |!])/g;function b_(t){return t.replace(/&/g,"&").replace(DT,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(wT,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let kl;function Rd(t){return"content"in t&&function NT(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var Et=(()=>((Et=Et||{})[Et.NONE=0]="NONE",Et[Et.HTML=1]="HTML",Et[Et.STYLE=2]="STYLE",Et[Et.SCRIPT=3]="SCRIPT",Et[Et.URL=4]="URL",Et[Et.RESOURCE_URL=5]="RESOURCE_URL",Et))();function D_(t){const n=Ws();return n?d_(n.sanitize(Et.HTML,t)||""):Gs(t,"HTML")?d_(dr(t)):function CT(t,n){let e=null;try{kl=kl||function g_(t){const n=new mT(t);return function _T(){try{return!!(new window.DOMParser).parseFromString(Bo(""),"text/html")}catch{return!1}}()?new gT(n):n}(t);let i=n?String(n):"";e=kl.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=kl.getInertBodyElement(i)}while(i!==o);return Bo((new bT).sanitizeChildren(Rd(e)||e))}finally{if(e){const i=Rd(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}($s(),oe(t))}function Pd(t){const n=Ws();return n?n.sanitize(Et.URL,t)||"":Gs(t,"URL")?dr(t):Ad(oe(t))}function Ws(){const t=A();return t&&t[Sr].sanitizer}class q{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=z({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ll=new q("ENVIRONMENT_INITIALIZER"),C_=new q("INJECTOR",-1),N_=new q("INJECTOR_DEF_TYPES");class E_{get(n,e=ws){if(e===ws){const i=new Error(`NullInjectorError: No provider for ${Rt(n)}!`);throw i.name="NullInjectorError",i}return e}}function OT(...t){return{\u0275providers:S_(0,t),\u0275fromNgModule:!0}}function S_(t,...n){const e=[],i=new Set;let r;return ks(n,o=>{const s=o;kd(s,e,[],i)&&(r||=[],r.push(s))}),void 0!==r&&T_(r,e),e}function T_(t,n){for(let e=0;e{n.push(o)})}}function kd(t,n,e,i){if(!(t=ie(t)))return!1;let r=null,o=dg(t);const s=!o&&Se(t);if(o||s){if(s&&!s.standalone)return!1;r=t}else{const l=t.ngModule;if(o=dg(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)kd(c,n,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{ks(o.imports,u=>{kd(u,n,e,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&T_(c,n)}if(!a){const c=Mr(r)||(()=>new r);n.push({provide:r,useFactory:c,deps:Ee},{provide:N_,useValue:r,multi:!0},{provide:Ll,useValue:()=>B(r),multi:!0})}const l=o.providers;null==l||a||Ld(l,u=>{n.push(u)})}}return r!==t&&void 0!==t.providers}function Ld(t,n){for(let e of t)Au(e)&&(e=e.\u0275providers),Array.isArray(e)?Ld(e,n):n(e)}const xT=Pe({provide:String,useValue:Pe});function Bd(t){return null!==t&&"object"==typeof t&&xT in t}function xr(t){return"function"==typeof t}const Vd=new q("Set Injector scope."),Bl={},PT={};let Hd;function Vl(){return void 0===Hd&&(Hd=new E_),Hd}class Qi{}class Ud extends Qi{get destroyed(){return this._destroyed}constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,$d(n,s=>this.processProvider(s)),this.records.set(C_,Vo(void 0,this)),r.has("environment")&&this.records.set(Qi,Vo(void 0,this));const o=this.records.get(Vd);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(N_.multi,Ee,ne.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const e of this._ngOnDestroyHooks)e.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const e of n)e()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=ar(this),i=bn(void 0);try{return n()}finally{ar(e),bn(i)}}get(n,e=ws,i=ne.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(yg))return n[yg](this);i=nl(i);const r=ar(this),o=bn(void 0);try{if(!(i&ne.SkipSelf)){let a=this.records.get(n);if(void 0===a){const l=function VT(t){return"function"==typeof t||"object"==typeof t&&t instanceof q}(n)&&Qa(n);a=l&&this.injectableDefInScope(l)?Vo(jd(n),Bl):null,this.records.set(n,a)}if(null!=a)return this.hydrate(n,a)}return(i&ne.Self?Vl():this.parent).get(n,e=i&ne.Optional&&e===ws?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[tl]=s[tl]||[]).unshift(Rt(n)),r)throw s;return function BN(t,n,e,i){const r=t[tl];throw n[gg]&&r.unshift(n[gg]),t.message=function VN(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let r=Rt(n);if(Array.isArray(n))r=n.map(Rt).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):Rt(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(RN,"\n ")}`}("\n"+t.message,r,e,i),t.ngTokenPath=r,t[tl]=null,t}(s,n,"R3InjectorError",this.source)}throw s}finally{bn(o),ar(r)}}resolveInjectorInitializers(){const n=ar(this),e=bn(void 0);try{const i=this.get(Ll.multi,Ee,ne.Self);for(const r of i)r()}finally{ar(n),bn(e)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(Rt(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(n){let e=xr(n=ie(n))?n:ie(n&&n.provide);const i=function kT(t){return Bd(t)?Vo(void 0,t.useValue):Vo(A_(t),Bl)}(n);if(xr(n)||!0!==n.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=Vo(void 0,Bl,!0),r.factory=()=>Pu(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){return e.value===Bl&&(e.value=PT,e.value=e.factory()),"object"==typeof e.value&&e.value&&function BT(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=ie(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function jd(t){const n=Qa(t),e=null!==n?n.factory:Mr(t);if(null!==e)return e;if(t instanceof q)throw new F(204,!1);if(t instanceof Function)return function FT(t){const n=t.length;if(n>0)throw Ls(n,"?"),new F(204,!1);const e=function AN(t){return t&&(t[el]||t[fg])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new F(204,!1)}function A_(t,n,e){let i;if(xr(t)){const r=ie(t);return Mr(r)||jd(r)}if(Bd(t))i=()=>ie(t.useValue);else if(function I_(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Pu(t.deps||[]));else if(function M_(t){return!(!t||!t.useExisting)}(t))i=()=>B(ie(t.useExisting));else{const r=ie(t&&(t.useClass||t.provide));if(!function LT(t){return!!t.deps}(t))return Mr(r)||jd(r);i=()=>new r(...Pu(t.deps))}return i}function Vo(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function $d(t,n){for(const e of t)Array.isArray(e)?$d(e,n):e&&Au(e)?$d(e.\u0275providers,n):n(e)}const Hl=new q("AppId",{providedIn:"root",factory:()=>HT}),HT="ng",O_=new q("Platform Initializer"),Rr=new q("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),x_=new q("CSP nonce",{providedIn:"root",factory:()=>$s().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let P_=(t,n)=>null;function F_(t,n){return P_(t,n)}class KT{}class B_{}class ZT{resolveComponentFactory(n){throw function YT(t){const n=Error(`No component factory found for ${Rt(t)}.`);return n.ngComponent=t,n}(n)}}let zl=(()=>{class t{}return t.NULL=new ZT,t})();function JT(){return Ho(zt(),A())}function Ho(t,n){return new ke(Nn(t,n))}let ke=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=JT,t})();function QT(t){return t instanceof ke?t.nativeElement:t}class ef{}let Jn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function eM(){const t=A(),e=Bn(zt().index,t);return(Ln(e)?e:t)[ae]}(),t})(),tM=(()=>{class t{}return t.\u0275prov=z({token:t,providedIn:"root",factory:()=>null}),t})();class Wl{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const nM=new Wl("16.1.4"),tf={};function Ys(t){for(;t;){t[se]|=64;const n=Hs(t);if(Hu(t)&&!n)return t;t=n}return null}function nf(t){return t.ngOriginalError}class Pr{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&nf(n);for(;e&&nf(e);)e=nf(e);return e||null}}const j_=new q("",{providedIn:"root",factory:()=>!1});class q_ extends Bg{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(n){this._lView=n}onConsumerDependencyMayHaveChanged(){Ys(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(n,e,i){const r=Gt(this);this.trackingVersion++;try{n(e,i)}finally{Gt(r)}}destroy(){this.trackingVersion++}}let Xl=null;function X_(){return Xl??=new q_,Xl}function K_(t,n){return t[n]??X_()}function Y_(t,n){const e=X_();e.hasReadASignal&&(t[n]=Xl,e.lView=t,Xl=new q_)}const le={};function P(t){Z_(be(),A(),pn()+t,!1)}function Z_(t,n,e,i){if(!i)if(3==(3&n[se])){const o=t.preOrderCheckHooks;null!==o&&gl(n,o,e)}else{const o=t.preOrderHooks;null!==o&&ml(n,o,0,e)}Ir(e)}function ty(t,n=null,e=null,i){const r=ny(t,n,e,i);return r.resolveInjectorInitializers(),r}function ny(t,n=null,e=null,i,r=new Set){const o=[e||Ee,OT(t)];return i=i||("object"==typeof t?void 0:Rt(t)),new Ud(o,n||Vl(),i||null,r)}let Hn=(()=>{class t{static create(e,i){if(Array.isArray(e))return ty({name:""},i,e,"");{const r=e.name??"";return ty({name:r},e.parent,e.providers,r)}}}return t.THROW_IF_NOT_FOUND=ws,t.NULL=new E_,t.\u0275prov=z({token:t,providedIn:"any",factory:()=>B(C_)}),t.__NG_ELEMENT_ID__=-1,t})();function y(t,n=ne.Default){const e=A();return null===e?B(t,n):bm(zt(),e,ie(t),n)}function Kl(t,n,e,i,r,o,s,a,l,c,u){const h=n.blueprint.slice();return h[Pt]=r,h[se]=140|i,(null!==c||t&&2048&t[se])&&(h[se]|=2048),Xg(h),h[lt]=h[Do]=t,h[wt]=e,h[Sr]=s||t&&t[Sr],h[ae]=a||t&&t[ae],h[bo]=l||t&&t[bo]||null,h[en]=o,h[As]=function RS(){return xS++}(),h[Ki]=u,h[xg]=c,h[Ct]=2==n.type?t[Ct]:h,h}function jo(t,n,e,i,r){let o=t.data[n];if(null===o)o=function rf(t,n,e,i,r){const o=em(),s=Wu(),l=t.data[n]=function NM(t,n,e,i,r,o){let s=n?n.injectorIndex:-1,a=0;return Eo()&&(a|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,e,n,i,r);return null===t.firstChild&&(t.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(t,n,e,i,r),function FE(){return te.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=e,o.value=i,o.attrs=r;const s=function xs(){const t=te.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return Pi(o,!0),o}function Zs(t,n,e,i){if(0===e)return-1;const r=n.length;for(let o=0;ove&&Z_(t,n,ve,!1),Ri(a?2:0,r),a)o.runInContext(e,i,r);else{const c=Gt(null);try{e(i,r)}finally{Gt(c)}}}finally{a&&null===n[ol]&&Y_(n,ol),Ir(s),Ri(a?3:1,r)}}function sf(t,n,e){if(Vu(n)){const i=Gt(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;snull;function sy(t,n,e,i){for(let r in t)if(t.hasOwnProperty(r)){e=null===e?{}:e;const o=t[r];null===i?ay(e,n,r,o):i.hasOwnProperty(r)&&ay(e,n,i[r],o)}return e}function ay(t,n,e,i){t.hasOwnProperty(e)?t[e].push(n,i):t[e]=[n,i]}function Un(t,n,e,i,r,o,s,a){const l=Nn(n,e);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(pf(t,e,u,i,r),Tr(n)&&function TM(t,n){const e=Bn(n,t);16&e[se]||(e[se]|=64)}(e,n.index)):3&n.type&&(i=function SM(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}function uf(t,n,e,i){if(Qg()){const r=null===i?null:{"":-1},o=function RM(t,n){const e=t.directiveRegistry;let i=null,r=null;if(e)for(let o=0;o0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(t,n,i,Zs(t,e,r.hostVars,le),r)}function ki(t,n,e,i,r,o){const s=Nn(t,n);!function ff(t,n,e,i,r,o,s){if(null==o)t.removeAttribute(n,r,e);else{const a=null==s?oe(o):s(o,i||"",r);t.setAttribute(n,r,a,e)}}(n[ae],s,o,t.value,e,i,r)}function VM(t,n,e,i,r,o){const s=o[n];if(null!==s)for(let a=0;a{class t{constructor(){this.all=new Set,this.queue=new Map}create(e,i,r){const o=typeof Zone>"u"?null:Zone.current,s=new hE(e,c=>{this.all.has(c)&&this.queue.set(c,o)},r);let a;this.all.add(s),s.notify();const l=()=>{s.cleanup(),a?.(),this.all.delete(s),this.queue.delete(s)};return a=i?.onDestroy(l),{destroy:l}}flush(){if(0!==this.queue.size)for(const[e,i]of this.queue)this.queue.delete(e),i?i.run(()=>e.run()):e.run()}get isQueueEmpty(){return 0===this.queue.size}}return t.\u0275prov=z({token:t,providedIn:"root",factory:()=>new t}),t})();function Zl(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(null!==n)for(let s=0;s0){vy(t,1);const r=t[G].components;null!==r&&Dy(t,r,1)}}function Dy(t,n,e){for(let i=0;i-1&&(Dd(n,i),wl(e,i))}this._attachedToViewContainer=!1}Jm(this._lView[G],this._lView)}onDestroy(n){!function Zg(t,n){if(256==(256&t[se]))throw new F(911,!1);null===t[lr]&&(t[lr]=[]),t[lr].push(n)}(this._lView,n)}markForCheck(){Ys(this._cdRefInjectingView||this._lView)}detach(){this._lView[se]&=-129}reattach(){this._lView[se]|=128}detectChanges(){Jl(this._lView[G],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function qS(t,n){js(t,n,n[ae],2,null,null)}(this._lView[G],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=n}}class YM extends Qs{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Jl(n[G],n,n[wt],!1)}checkNoChanges(){}get context(){return null}}class wy extends zl{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=Se(n);return new ea(e,this.ngModule)}}function Cy(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class JM{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=nl(i);const r=this.injector.get(n,tf,i);return r!==tf||e===tf?r:this.parentInjector.get(n,e,i)}}class ea extends B_{get inputs(){const n=this.componentDef,e=n.inputTransforms,i=Cy(n.inputs);if(null!==e)for(const r of i)e.hasOwnProperty(r.propName)&&(r.transform=e[r.propName]);return i}get outputs(){return Cy(this.componentDef.outputs)}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function KN(t){return t.map(XN).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}create(n,e,i,r){let o=(r=r||this.ngModule)instanceof Qi?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new JM(n,o):n,a=s.get(ef,null);if(null===a)throw new F(407,!1);const u={rendererFactory:a,sanitizer:s.get(tM,null),effectManager:s.get(_y,null)},h=a.createRenderer(null,this.componentDef),g=this.componentDef.selectors[0][0]||"div",m=i?function vM(t,n,e,i){const o=i.get(j_,!1)||e===Fn.ShadowDom,s=t.selectRootElement(n,o);return function bM(t){oy(t)}(s),s}(h,i,this.componentDef.encapsulation,s):Al(h,g,function ZM(t){const n=t.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(g)),N=this.componentDef.signals?4608:this.componentDef.onPush?576:528,T=cf(0,null,null,1,0,null,null,null,null,null,null),w=Kl(null,T,null,N,null,null,u,h,s,null,null);let O,R;Zu(w);try{const L=this.componentDef;let J,xe=null;L.findHostDirectiveDefs?(J=[],xe=new Map,L.findHostDirectiveDefs(L,J,xe),J.push(L)):J=[L];const He=function eI(t,n){const e=t[G],i=ve;return t[i]=n,jo(e,i,2,"#host",null)}(w,m),At=function tI(t,n,e,i,r,o,s){const a=r[G];!function nI(t,n,e,i){for(const r of t)n.mergedAttrs=Es(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(Zl(n,n.mergedAttrs,!0),null!==e&&u_(i,e,n))}(i,t,n,s);let l=null;null!==n&&(l=F_(n,r[bo]));const c=o.rendererFactory.createRenderer(n,e);let u=16;e.signals?u=4096:e.onPush&&(u=64);const h=Kl(r,ry(e),null,u,r[t.index],t,o,c,null,null,l);return a.firstCreatePass&&df(a,t,i.length-1),Yl(r,h),r[t.index]=h}(He,m,L,J,w,u,h);R=qg(T,ve),m&&function rI(t,n,e,i){if(i)Lu(t,e,["ng-version",nM.full]);else{const{attrs:r,classes:o}=function YN(t){const n=[],e=[];let i=1,r=2;for(;i0&&c_(t,e,o.join(" "))}}(h,L,m,i),void 0!==e&&function oI(t,n,e){const i=t.projection=[];for(let r=0;r=0;i--){const r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=Es(r.hostAttrs,e=Es(e,r.hostAttrs))}}(i)}function Ql(t){return t===Ii?{}:t===Ee?[]:t}function lI(t,n){const e=t.viewQuery;t.viewQuery=e?(i,r)=>{n(i,r),e(i,r)}:n}function cI(t,n){const e=t.contentQueries;t.contentQueries=e?(i,r,o)=>{n(i,r,o),e(i,r,o)}:n}function uI(t,n){const e=t.hostBindings;t.hostBindings=e?(i,r)=>{n(i,r),e(i,r)}:n}function ec(t){return!!function mf(t){return null!==t&&("function"==typeof t||"object"==typeof t)}(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function rn(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function Te(t,n,e,i){const r=A();return rn(r,So(),n)&&(be(),ki(ct(),r,t,n,e,i)),Te}function Go(t,n,e,i){return rn(t,So(),e)?n+oe(e)+i:le}function V(t,n,e,i,r,o,s,a){const l=A(),c=be(),u=t+ve,h=c.firstCreatePass?function FI(t,n,e,i,r,o,s,a,l){const c=n.consts,u=jo(n,t,4,s||null,cr(c,a));uf(n,e,u,cr(c,l)),pl(n,u);const h=u.tView=cf(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),h.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,e,i,r,o,s):c.data[u];Pi(h,!1);const g=Hy(c,l,h,t);hl()&&xl(c,l,g,h),nn(g,l),Yl(l,l[u]=dy(g,l,g,h)),ll(h)&&af(c,l,h),null!=s&&lf(l,h,a)}let Hy=function Uy(t,n,e,i){return ur(!0),n[ae].createComment("")};function x(t,n,e){const i=A();return rn(i,So(),n)&&Un(be(),ct(),i,t,n,i[ae],e,!1),x}function wf(t,n,e,i,r){const s=r?"class":"style";pf(t,e,n.inputs[s],s,i)}function j(t,n,e,i){const r=A(),o=be(),s=ve+t,a=r[ae],l=o.firstCreatePass?function VI(t,n,e,i,r,o){const s=n.consts,l=jo(n,t,2,i,cr(s,r));return uf(n,e,l,cr(s,o)),null!==l.attrs&&Zl(l,l.attrs,!1),null!==l.mergedAttrs&&Zl(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,e,i):o.data[s],c=jy(o,r,l,a,n,t);r[s]=c;const u=ll(l);return Pi(l,!0),u_(a,c,l),32!=(32&l.flags)&&hl()&&xl(o,r,c,l),0===function SE(){return te.lFrame.elementDepthCount}()&&nn(c,r),function TE(){te.lFrame.elementDepthCount++}(),u&&(af(o,r,l),sf(o,l,r)),null!==i&&lf(r,l),j}function H(){let t=zt();Wu()?qu():(t=t.parent,Pi(t,!1));const n=t;(function IE(t){return te.skipHydrationRootTNode===t})(n)&&function RE(){te.skipHydrationRootTNode=null}(),function ME(){te.lFrame.elementDepthCount--}();const e=be();return e.firstCreatePass&&(pl(e,t),Vu(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function XE(t){return 0!=(8&t.flags)}(n)&&wf(e,n,A(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function KE(t){return 0!=(16&t.flags)}(n)&&wf(e,n,A(),n.stylesWithoutHost,!1),H}function ze(t,n,e,i){return j(t,n,e,i),H(),ze}let jy=(t,n,e,i,r,o)=>(ur(!0),Al(i,r,function um(){return te.lFrame.currentNamespace}()));function Tn(){return A()}function oc(t){return!!t&&"function"==typeof t.then}function zy(t){return!!t&&"function"==typeof t.subscribe}function ge(t,n,e,i){const r=A(),o=be(),s=zt();return function qy(t,n,e,i,r,o,s){const a=ll(i),c=t.firstCreatePass&&py(t),u=n[wt],h=hy(n);let g=!0;if(3&i.type||s){const v=Nn(i,n),N=s?s(v):v,T=h.length,w=s?R=>s(et(R[i.index])):i.index;let O=null;if(!s&&a&&(O=function zI(t,n,e,i){const r=t.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(t,n,r,i.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=o,O.__ngLastListenerFn__=o,g=!1;else{o=Ky(i,n,u,o,!1);const R=e.listen(N,r,o);h.push(o,R),c&&c.push(r,w,T,T+1)}}else o=Ky(i,n,u,o,!1);const m=i.outputs;let b;if(g&&null!==m&&(b=m[r])){const v=b.length;if(v)for(let N=0;N-1?Bn(t.index,n):n);let l=Xy(n,e,i,s),c=o.__ngNextListenerFn__;for(;c;)l=Xy(n,e,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&s.preventDefault(),l}}function W(t=1){return function VE(t){return(te.lFrame.contextLView=function HE(t,n){for(;t>0;)n=n[Do],t--;return n}(t,te.lFrame.contextLView))[wt]}(t)}function WI(t,n){let e=null;const i=function GN(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let r=0;r>17&32767}function Tf(t){return 2|t}function kr(t){return(131068&t)>>2}function Mf(t,n){return-131069&t|n<<2}function If(t){return 1|t}function rv(t,n,e,i,r){const o=t[e+1],s=null===n;let a=i?fr(o):kr(o),l=!1;for(;0!==a&&(!1===l||s);){const u=t[a+1];JI(t[a],n)&&(l=!0,t[a+1]=i?If(u):Tf(u)),a=i?fr(u):kr(u)}l&&(t[e+1]=i?Tf(o):If(o))}function JI(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Po(t,n)>=0}const kt={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ov(t){return t.substring(kt.key,kt.keyEnd)}function sv(t,n){const e=kt.textEnd;return e===n?-1:(n=kt.keyEnd=function nA(t,n,e){for(;n32;)n++;return n}(t,kt.key=n,e),Jo(t,n,e))}function Jo(t,n,e){for(;n=0;e=sv(n,e))Vn(t,ov(n),!0)}function fv(t,n){return n>=t.expandoStartIndex}function hv(t,n,e,i){const r=t.data;if(null===r[e+1]){const o=r[pn()],s=fv(t,e);_v(o,i)&&null===n&&!s&&(n=!1),n=function sA(t,n,e,i){const r=function Ku(t){const n=te.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}(t);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(e=sa(e=Af(null,t,n,e,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||t[s]!==r)if(e=Af(r,t,n,e,i),null===o){let l=function aA(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==kr(i))return t[fr(i)]}(t,n,i);void 0!==l&&Array.isArray(l)&&(l=Af(null,t,n,l[1],i),l=sa(l,n.attrs,i),function lA(t,n,e,i){t[fr(e?n.classBindings:n.styleBindings)]=i}(t,n,i,l))}else o=function cA(t,n,e){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const g=fr(t[a+1]);t[i+1]=ac(g,a),0!==g&&(t[g+1]=Mf(t[g+1],i)),t[a+1]=function XI(t,n){return 131071&t|n<<17}(t[a+1],i)}else t[i+1]=ac(a,0),0!==a&&(t[a+1]=Mf(t[a+1],i)),a=i;else t[i+1]=ac(l,0),0===a?a=i:t[l+1]=Mf(t[l+1],i),l=i;c&&(t[i+1]=Tf(t[i+1])),rv(t,u,i,!0),rv(t,u,i,!1),function ZI(t,n,e,i,r){const o=r?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof n&&Po(o,n)>=0&&(e[i+1]=If(e[i+1]))}(n,u,t,i,o),s=ac(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,e,s,i)}}function Af(t,n,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=t[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=e[r+1];g===le&&(g=h?Ee:void 0);let m=h?ad(g,i):u===i?g:void 0;if(c&&!lc(m)&&(m=ad(l,i)),lc(m)&&(a=m,s))return a;const b=t[r+1];r=s?fr(b):kr(b)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=ad(l,i))}return a}function lc(t){return void 0!==t}function _v(t,n){return 0!=(t.flags&(n?8:16))}function Xe(t,n=""){const e=A(),i=be(),r=t+ve,o=i.firstCreatePass?jo(i,r,1,n,null):i.data[r],s=yv(i,e,o,n,t);e[r]=s,hl()&&xl(i,e,s,o),Pi(o,!1)}let yv=(t,n,e,i,r)=>(ur(!0),function Il(t,n){return t.createText(n)}(n[ae],i));function Wt(t){return Ui("",t,""),Wt}function Ui(t,n,e){const i=A(),r=Go(i,t,n,e);return r!==le&&function tr(t,n,e){const i=fl(n,t);!function Ym(t,n,e){t.setValue(n,e)}(t[ae],i,e)}(i,pn(),r),Ui}function ei(t,n,e){const i=A();return rn(i,So(),n)&&Un(be(),ct(),i,t,n,i[ae],e,!0),ei}const es="en-US";let Vv=es;function Rf(t,n,e,i,r){if(t=ie(t),Array.isArray(t))for(let o=0;o>20;if(xr(t)||!t.multi){const m=new Rs(l,r,y),b=Ff(a,n,r?u:u+g,h);-1===b?(rd(bl(c,s),o,a),Pf(o,t,n.length),n.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(m),s.push(m)):(e[b]=m,s[b]=m)}else{const m=Ff(a,n,u+g,h),b=Ff(a,n,u,u+g),N=b>=0&&e[b];if(r&&!N||!r&&!(m>=0&&e[m])){rd(bl(c,s),o,a);const T=function xO(t,n,e,i,r){const o=new Rs(t,e,y);return o.multi=[],o.index=n,o.componentProviders=0,d0(o,r,i&&!e),o}(r?OO:AO,e.length,r,i,l);!r&&N&&(e[b].providerFactory=T),Pf(o,t,n.length,0),n.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(T),s.push(T)}else Pf(o,t,m>-1?m:b,d0(e[r?b:m],l,!r&&i));!r&&i&&N&&e[b].componentProviders++}}}function Pf(t,n,e,i){const r=xr(n),o=function RT(t){return!!t.useClass}(n);if(r||o){const l=(o?ie(n.useClass):n).prototype.ngOnDestroy;if(l){const c=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function d0(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function Ff(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function IO(t,n,e){const i=be();if(i.firstCreatePass){const r=li(t);Rf(e,i.data,i.blueprint,r,!0),Rf(n,i.data,i.blueprint,r,!1)}}(i,r?r(t):t,n)}}class ts{}class RO{}class Lf extends ts{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new wy(this);const r=function kn(t,n){const e=t[_g]||null;if(!e&&!0===n)throw new Error(`Type ${Rt(t)} does not have '\u0275mod' property.`);return e}(n);this._bootstrapComponents=function er(t){return t instanceof Function?t():t}(r.bootstrap),this._r3Injector=ny(n,e,[{provide:ts,useValue:this},{provide:zl,useValue:this.componentFactoryResolver},...i],Rt(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(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class Bf extends RO{constructor(n){super(),this.moduleType=n}create(n){return new Lf(this.moduleType,n,[])}}class f0 extends ts{constructor(n){super(),this.componentFactoryResolver=new wy(this),this.instance=null;const e=new Ud([...n.providers,{provide:ts,useValue:this},{provide:zl,useValue:this.componentFactoryResolver}],n.parent||Vl(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}let LO=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=S_(0,e.type),r=i.length>0?function kO(t,n,e=null){return new f0({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return t.\u0275prov=z({token:t,providedIn:"environment",factory:()=>new t(B(Qi))}),t})();function ti(t){t.getStandaloneInjector=n=>n.get(LO).getOrCreateStandaloneInjector(t)}function Uf(t){return n=>{setTimeout(t,void 0,n)}}const Y=class sx extends re{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=Uf(o),r&&(r=Uf(r)),s&&(s=Uf(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof me&&n.add(a),a}};function ax(){return this._results[Symbol.iterator]()}class jf{get changes(){return this._changes||(this._changes=new Y)}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 e=jf.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=ax)}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,e){return this._results.reduce(n,e)}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,e){const i=this;i.dirty=!1;const r=function Zn(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function sS(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=ux,t})();const lx=nt,cx=class extends lx{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e,null)}createEmbeddedViewImpl(n,e,i){const s=this._declarationTContainer.tView,a=Kl(this._declarationLView,s,n,4096&this._declarationLView[se]?4096:16,null,s.declTNode,null,null,null,e||null,i||null);a[Is]=this._declarationLView[this._declarationTContainer.index];const c=this._declarationLView[Ai];return null!==c&&(a[Ai]=c.createEmbeddedView(s)),gf(s,a,n),new Qs(a)}};function ux(){return hc(zt(),A())}function hc(t,n){return 4&t.type?new cx(n,t,Ho(t,n)):null}let Mn=(()=>{class t{}return t.__NG_ELEMENT_ID__=_x,t})();function _x(){return I0(zt(),A())}const yx=Mn,T0=class extends yx{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return Ho(this._hostTNode,this._hostLView)}get injector(){return new Mo(this._hostTNode,this._hostLView)}get parentInjector(){const n=id(this._hostTNode,this._hostLView);if(pm(n)){const e=yl(n,this._hostLView),i=_l(n);return new Mo(e[G].data[i+8],e)}return new Mo(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=M0(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-tn}createEmbeddedView(n,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(e||{},o,null);return this.insertImpl(a,r,false),a}createComponent(n,e,i,r,o){const s=n&&!function Fs(t){return"function"==typeof t}(n);let a;if(s)a=e;else{const v=e||{};a=v.index,i=v.injector,r=v.projectableNodes,o=v.environmentInjector||v.ngModuleRef}const l=s?n:new ea(Se(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const N=(s?c:this.parentInjector).get(Qi,null);N&&(o=N)}Se(l.componentType??{});const m=l.create(c,r,null,o);return this.insertImpl(m.hostView,a,false),m}insert(n,e){return this.insertImpl(n,e,!1)}insertImpl(n,e,i){const r=n._lView,o=r[G];if(function CE(t){return Cn(t[lt])}(r)){const l=this.indexOf(n);if(-1!==l)this.detach(l);else{const c=r[lt],u=new T0(c,c[en],c[lt]);u.detach(u.indexOf(n))}}const s=this._adjustIndex(e),a=this._lContainer;if(function KS(t,n,e,i){const r=tn+i,o=e.length;i>0&&(e[r-1][ai]=n),i0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let h=tn;h{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=ye(eb,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const r of this.appInits){const o=r();if(oc(o))e.push(o);else if(zy(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});e.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const di=new q("LocaleId",{providedIn:"root",factory:()=>ye(di,ne.Optional|ne.SkipSelf)||function Kx(){return typeof $localize<"u"&&$localize.locale||es}()});let th=(()=>{class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new fo(!1)}add(){this.hasPendingTasks.next(!0);const e=this.taskId++;return this.pendingTasks.add(e),e}remove(e){this.pendingTasks.delete(e),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ib(...t){}class Le{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function eR(){const t="function"==typeof Ge.requestAnimationFrame;let n=Ge[t?"requestAnimationFrame":"setTimeout"],e=Ge[t?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&e){const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function iR(t){const n=()=>{!function nR(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(Ge,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,ih(t),t.isCheckStableRunning=!0,nh(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),ih(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return rb(t),e.invokeTask(r,o,s,a)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||t.shouldCoalesceRunChangeDetection)&&n(),ob(t)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return rb(t),e.invoke(r,o,s,a,l)}finally{t.shouldCoalesceRunChangeDetection&&n(),ob(t)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(t._hasPendingMicrotasks=o.microTask,ih(t),nh(t)):"macroTask"==o.change&&(t.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),t.runOutsideAngular(()=>t.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Le.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Le.isInAngularZone())throw new F(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,tR,ib,ib);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const tR={};function nh(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function ih(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function rb(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function ob(t){t._nesting--,nh(t)}class rR{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,r){return n.apply(e,i)}}const sb=new q("",{providedIn:"root",factory:ab});function ab(){const t=ye(Le);let n=!0;return function sg(...t){const n=Ka(t),e=function mN(t,n){return"number"==typeof Nu(t)?t.pop():n}(t,1/0),i=t;return i.length?1===i.length?$t(i[0]):tg(e)(Ds(i,n)):bs}(new qe(r=>{n=t.isStable&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks,t.runOutsideAngular(()=>{r.next(n),r.complete()})}),new qe(r=>{let o;t.runOutsideAngular(()=>{o=t.onStable.subscribe(()=>{Le.assertNotInAngularZone(),queueMicrotask(()=>{!n&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks&&(n=!0,r.next(!0))})})});const s=t.onUnstable.subscribe(()=>{Le.assertInAngularZone(),n&&(n=!1,t.runOutsideAngular(()=>{r.next(!1)}))});return()=>{o.unsubscribe(),s.unsubscribe()}}).pipe(ag()))}const lb=new q(""),gc=new q("");let sh,rh=(()=>{class t{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,sh||(function oR(t){sh=t}(r),r.addToWindow(i)),this._watchAngularEvents(),e.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:()=>{Le.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!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(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return t.\u0275fac=function(e){return new(e||t)(B(Le),B(oh),B(gc))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})(),oh=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return sh?.findTestabilityInTree(this,e,i)??null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})(),hr=null;const cb=new q("AllowMultipleToken"),ah=new q("PlatformDestroyListeners"),ub=new q("appBootstrapListener");function hb(t,n,e=[]){const i=`Platform: ${n}`,r=new q(i);return(o=[])=>{let s=lh();if(!s||s.injector.get(cb,!1)){const a=[...e,...o,{provide:r,useValue:!0}];t?t(a):function lR(t){if(hr&&!hr.get(cb,!1))throw new F(400,!1);(function db(){!function dE(t){Vg=t}(()=>{throw new F(600,!1)})})(),hr=t;const n=t.get(gb);(function fb(t){t.get(O_,null)?.forEach(e=>e())})(t)}(function pb(t=[],n){return Hn.create({name:n,providers:[{provide:Vd,useValue:"platform"},{provide:ah,useValue:new Set([()=>hr=null])},...t]})}(a,i))}return function uR(t){const n=lh();if(!n)throw new F(401,!1);return n}()}}function lh(){return hr?.get(gb)??null}let gb=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function dR(t="zone.js",n){return"noop"===t?new rR:"zone.js"===t?new Le(n):t}(i?.ngZone,function mb(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return r.run(()=>{const o=function FO(t,n,e){return new Lf(t,n,e)}(e.moduleType,this.injector,function Db(t){return[{provide:Le,useFactory:t},{provide:Ll,multi:!0,useFactory:()=>{const n=ye(hR,{optional:!0});return()=>n.initialize()}},{provide:bb,useFactory:fR},{provide:sb,useFactory:ab}]}(()=>r)),s=o.injector.get(Pr,null);return r.runOutsideAngular(()=>{const a=r.onError.subscribe({next:l=>{s.handleError(l)}});o.onDestroy(()=>{mc(this._modules,o),a.unsubscribe()})}),function _b(t,n,e){try{const i=e();return oc(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(s,r,()=>{const a=o.injector.get(eh);return a.runInitializers(),a.donePromise.then(()=>(function Hv(t){Yn(t,"Expected localeId to be defined"),"string"==typeof t&&(Vv=t.toLowerCase().replace(/_/g,"-"))}(o.injector.get(di,es)||es),this._moduleDoBootstrap(o),o))})})}bootstrapModule(e,i=[]){const r=yb({},i);return function sR(t,n,e){const i=new Bf(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Vr);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new F(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(ah,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(B(Hn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();function yb(t,n){return Array.isArray(n)?n.reduce(yb,t):{...t,...n}}let Vr=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=ye(bb),this.zoneIsStable=ye(sb),this.componentTypes=[],this.components=[],this.isStable=ye(th).hasPendingTasks.pipe(Tu(e=>e?_o(!1):this.zoneIsStable),function lg(t,n=Si){return t=t??CN,Dt((e,i)=>{let r,o=!0;e.subscribe(st(i,s=>{const a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}(),ag()),this._injector=ye(Qi)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const r=e instanceof B_;if(!this._injector.get(eh).done)throw!r&&function Ss(t){const n=Se(t)||Qt(t)||wn(t);return null!==n&&n.standalone}(e),new F(405,!1);let s;s=r?e:this._injector.get(zl).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function aR(t){return t.isBoundToModule}(s)?void 0:this._injector.get(ts),c=s.create(Hn.NULL,[],i||s.selector,a),u=c.location.nativeElement,h=c.injector.get(lb,null);return h?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mc(this.components,c),h?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this.internalErrorHandler(e)}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;mc(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(ub,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>mc(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new F(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function mc(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const bb=new q("",{providedIn:"root",factory:()=>ye(Pr).handleError.bind(void 0)});function fR(){const t=ye(Le),n=ye(Pr);return e=>t.runOutsideAngular(()=>n.handleError(e))}let hR=(()=>{class t{constructor(){this.zone=ye(Le),this.applicationRef=ye(Vr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();let _t=(()=>{class t{}return t.__NG_ELEMENT_ID__=gR,t})();function gR(t){return function mR(t,n,e){if(Tr(t)&&!e){const i=Bn(t.index,n);return new Qs(i,i)}return 47&t.type?new Qs(n[Ct],n):null}(zt(),A(),16==(16&t))}class Eb{constructor(){}supports(n){return ec(n)}create(n){return new wR(n)}}const DR=(t,n)=>n;class wR{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||DR}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),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,e,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,o,r)):n=this._addAfter(new CR(e,i),o,r),n}_verifyReinsertion(n,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}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,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const r=null===e?this._itHead:e._next;return n._next=r,n._prev=e,null===r?this._itTail=n:r._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new Sb),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Sb),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,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class CR{constructor(n,e){this.item=n,this.trackById=e,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 NR{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,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class Sb{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new NR,this.map.set(e,i)),i.add(n)}get(n,e){const r=this.map.get(n);return r?r.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Tb(t,n,e){const i=t.previousIndex;if(null===i)return i;let r=0;return e&&i{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||Ib()),deps:[[t,new ud,new cd]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new F(901,!1)}}return t.\u0275prov=z({token:t,providedIn:"root",factory:Ib}),t})();const IR=hb(null,"core",[]);let AR=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(B(Vr))},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();function mh(t,n){const e=Se(t),i=n.elementInjector||Vl();return new ea(e).create(i,n.projectableNodes,n.hostElement,n.environmentInjector)}let _h=null;function va(){return _h}class UR{}const on=new q("DocumentToken");function qb(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}class EP{constructor(n,e,i,r){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=r}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 $n=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,r){this._viewContainer=e,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new EP(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),Yb(a,r)}});for(let r=0,o=i.length;r{Yb(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(y(Mn),y(nt),y(vc))},t.\u0275dir=k({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function Yb(t,n){t.context.$implicit=n.item}let Gn=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new SP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){Zb("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){Zb("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(y(Mn),y(nt))},t.\u0275dir=k({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class SP{constructor(){this.$implicit=null,this.ngIf=null}}function Zb(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Rt(n)}'.`)}let eD=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();function nD(t){return"server"===t}class rD{}class EF extends UR{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Fh extends EF{static makeCurrent(){!function HR(t){_h||(_h=t)}(new Fh)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||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,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function SF(){return Ca=Ca||document.querySelector("base"),Ca?Ca.getAttribute("href"):null}();return null==e?null:function TF(t){xc=xc||document.createElement("a"),xc.setAttribute("href",t);const n=xc.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){Ca=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return qb(document.cookie,n)}}let xc,Ca=null,IF=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const kh=new q("EventManagerPlugins");let cD=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new F(5101,!1);return this._eventNameToPlugin.set(e,i),i}}return t.\u0275fac=function(e){return new(e||t)(B(kh),B(Le))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();class uD{constructor(n){this._doc=n}}const Lh="ng-app-id";let dD=(()=>{class t{constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=nD(o),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(r=>r.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${Lh}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(e,i){const r=this.styleRef;if(r.has(e)){const o=r.get(e);return o.usage+=i,o.usage}return r.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===e)return r.delete(i),o.removeAttribute(Lh),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(Lh,this.appId),s}}addStyleToHost(e,i){const r=this.getStyleElement(e,i);e.appendChild(r);const o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}}return t.\u0275fac=function(e){return new(e||t)(B(on),B(Hl),B(x_,8),B(Rr))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const Bh={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/"},Vh=/%COMP%/g,RF=new q("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function hD(t,n){return n.map(e=>e.replace(Vh,t))}let pD=(()=>{class t{constructor(e,i,r,o,s,a,l,c=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=nD(a),this.defaultRenderer=new Hh(e,s,l,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Fn.ShadowDom&&(i={...i,encapsulation:Fn.Emulated});const r=this.getOrCreateRenderer(e,i);return r instanceof mD?r.applyToHost(e):r instanceof Uh&&r.applyStyles(),r}getOrCreateRenderer(e,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,h=this.platformIsServer;switch(i.encapsulation){case Fn.Emulated:o=new mD(l,c,i,this.appId,u,s,a,h);break;case Fn.ShadowDom:return new LF(l,c,e,i,s,a,this.nonce,h);default:o=new Uh(l,c,i,u,s,a,h)}o.onDestroy=()=>r.delete(i.id),r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return t.\u0275fac=function(e){return new(e||t)(B(cD),B(dD),B(Hl),B(RF),B(on),B(Rr),B(Le),B(x_))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();class Hh{constructor(n,e,i,r){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(Bh[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(gD(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(gD(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new F(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;const o=Bh[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const r=Bh[i];r?n.removeAttributeNS(r,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,r){r&(En.DashCase|En.Important)?n.style.setProperty(e,i,r&En.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&En.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=va().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function gD(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class LF extends Hh{constructor(n,e,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=hD(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Uh extends Hh{constructor(n,e,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r,this.rendererUsageCount=0,this.styles=l?hD(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestroy&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class mD extends Uh{constructor(n,e,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,e,i,o,s,a,l,c),this.contentAttr=function PF(t){return"_ngcontent-%COMP%".replace(Vh,t)}(c),this.hostAttr=function FF(t){return"_nghost-%COMP%".replace(Vh,t)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let BF=(()=>{class t extends uD{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const _D=["alt","control","meta","shift"],VF={"\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"},HF={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let UF=(()=>{class t extends uD{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,r){const o=t.parseEventName(i),s=t.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>va().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=t._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),_D.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=VF[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),_D.forEach(s=>{s!==r&&(0,HF[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const zF=hb(IR,"browser",[{provide:Rr,useValue:"browser"},{provide:O_,useValue:function jF(){Fh.makeCurrent()},multi:!0},{provide:on,useFactory:function GF(){return function lT(t){Md=t}(document),document},deps:[]}]),WF=new q(""),bD=[{provide:gc,useClass:class MF{addToWindow(n){Ge.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new F(5103,!1);return o},Ge.getAllAngularTestabilities=()=>n.getAllTestabilities(),Ge.getAllAngularRootElements=()=>n.getAllRootElements(),Ge.frameworkStabilizers||(Ge.frameworkStabilizers=[]),Ge.frameworkStabilizers.push(i=>{const r=Ge.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?va().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:lb,useClass:rh,deps:[Le,oh,gc]},{provide:rh,useClass:rh,deps:[Le,oh,gc]}],DD=[{provide:Vd,useValue:"root"},{provide:Pr,useFactory:function $F(){return new Pr},deps:[]},{provide:kh,useClass:BF,multi:!0,deps:[on,Le,Rr]},{provide:kh,useClass:UF,multi:!0,deps:[on]},pD,dD,cD,{provide:ef,useExisting:pD},{provide:rD,useClass:IF,deps:[]},[]];let qF=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:Hl,useValue:e.appId}]}}}return t.\u0275fac=function(e){return new(e||t)(B(WF,12))},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[...DD,...bD],imports:[eD,AR]}),t})();typeof window<"u"&&window;let sn=(()=>{class t{constructor(){this.elementLookup=[]}findElementIndex(e){let i=-1;for(let r=0;r{});if(null==s){let a=this.initializeElementLookupDtoAll(e,i,o,r);this.elementLookup.push(a)}else null==s.tagHtml&&(s.tagHtml=r),null==s.object&&(s.object=null)}getElement(e){return this.elementLookup.find(r=>r.id==e)??null}initializeElementLookupDtoAll(e,i,r,o){return new $h(e,i,r,o)}initializeElementLookupDtoNullObject(e,i,r){return new $h(e,null,i,r)}initializeElementLookupDtoNullTagHTML(e,i,r){return new $h(e,r,i,null)}clearElementLookupDict(){this.elementLookup.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class $h{constructor(n,e,i,r){this.id=n,this.object=e,this.element=i,this.tagHtml=r}}let qt=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ED(t){return Dt((n,e)=>{let o,i=null,r=!1;i=n.subscribe(st(e,void 0,void 0,s=>{o=$t(t(s,ED(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function gi(t,n){return Dt((e,i)=>{let r=0;e.subscribe(st(i,o=>t.call(n,o,r++)&&i.next(o)))})}function SD(t){return Dt((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}class Rc{}class Pc{}class ji{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.setHeaderEntries(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof ji?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(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new ji;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof ji?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const r=("a"===n.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}setHeaderEntries(n,e){const i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class nk{encodeKey(n){return TD(n)}encodeValue(n){return TD(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const rk=/%(\d[a-f0-9])/gi,ok={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function TD(t){return encodeURIComponent(t).replace(rk,(n,e)=>ok[e]??n)}function Fc(t){return`${t}`}class gr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new nk,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function ik(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],r=Array.isArray(i)?i.map(Fc):[Fc(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new gr({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}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 e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(Fc(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(Fc(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class sk{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),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 MD(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function ID(t){return typeof Blob<"u"&&t instanceof Blob}function AD(t){return typeof FormData<"u"&&t instanceof FormData}class Na{constructor(n,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function ak(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new ji),this.context||(this.context=new sk),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ah.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((h,g)=>h.set(g,n.setParams[g]),c)),new Na(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Mt=(()=>((Mt=Mt||{})[Mt.Sent=0]="Sent",Mt[Mt.UploadProgress=1]="UploadProgress",Mt[Mt.ResponseHeader=2]="ResponseHeader",Mt[Mt.DownloadProgress=3]="DownloadProgress",Mt[Mt.Response=4]="Response",Mt[Mt.User=5]="User",Mt))();class Gh{constructor(n,e=200,i="OK"){this.headers=n.headers||new ji,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class zh extends Gh{constructor(n={}){super(n),this.type=Mt.ResponseHeader}clone(n={}){return new zh({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 os extends Gh{constructor(n={}){super(n),this.type=Mt.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new os({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 OD extends Gh{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 Wh(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let kc=(()=>{class t{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof Na)o=e;else{let l,c;l=r.headers instanceof ji?r.headers:new ji(r.headers),r.params&&(c=r.params instanceof gr?r.params:new gr({fromObject:r.params})),o=new Na(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=_o(o).pipe(function tk(t,n){return $(n)?mo(t,n,1):mo(t,1)}(l=>this.handler.handle(l)));if(e instanceof Na||"events"===r.observe)return s;const a=s.pipe(gi(l=>l instanceof os));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(Ut(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(Ut(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(Ut(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Ut(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new gr).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,Wh(r,i))}post(e,i,r={}){return this.request("POST",e,Wh(r,i))}put(e,i,r={}){return this.request("PUT",e,Wh(r,i))}}return t.\u0275fac=function(e){return new(e||t)(B(Rc))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();function PD(t,n){return n(t)}function uk(t,n){return(e,i)=>n.intercept(e,{handle:r=>t(r,i)})}const fk=new q(""),Ea=new q(""),FD=new q("");function hk(){let t=null;return(n,e)=>{null===t&&(t=(ye(fk,{optional:!0})??[]).reduceRight(uk,PD));const i=ye(th),r=i.add();return t(n,e).pipe(SD(()=>i.remove(r)))}}let kD=(()=>{class t extends Rc{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null,this.pendingTasks=ye(th)}handle(e){if(null===this.chain){const r=Array.from(new Set([...this.injector.get(Ea),...this.injector.get(FD,[])]));this.chain=r.reduceRight((o,s)=>function dk(t,n,e){return(i,r)=>e.runInContext(()=>n(i,o=>t(o,r)))}(o,s,this.injector),PD)}const i=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(SD(()=>this.pendingTasks.remove(i)))}}return t.\u0275fac=function(e){return new(e||t)(B(Pc),B(Qi))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const _k=/^\)\]\}',?\n/;let BD=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new F(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?Ds(i.\u0275loadImpl()):_o(null)).pipe(Tu(()=>new qe(o=>{const s=i.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((v,N)=>s.setRequestHeader(v,N.join(","))),e.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const v=e.detectContentTypeHeader();null!==v&&s.setRequestHeader("Content-Type",v)}if(e.responseType){const v=e.responseType.toLowerCase();s.responseType="json"!==v?v:"text"}const a=e.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const v=s.statusText||"OK",N=new ji(s.getAllResponseHeaders()),T=function yk(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(s)||e.url;return l=new zh({headers:N,status:s.status,statusText:v,url:T}),l},u=()=>{let{headers:v,status:N,statusText:T,url:w}=c(),O=null;204!==N&&(O=typeof s.response>"u"?s.responseText:s.response),0===N&&(N=O?200:0);let R=N>=200&&N<300;if("json"===e.responseType&&"string"==typeof O){const L=O;O=O.replace(_k,"");try{O=""!==O?JSON.parse(O):null}catch(J){O=L,R&&(R=!1,O={error:J,text:O})}}R?(o.next(new os({body:O,headers:v,status:N,statusText:T,url:w||void 0})),o.complete()):o.error(new OD({error:O,headers:v,status:N,statusText:T,url:w||void 0}))},h=v=>{const{url:N}=c(),T=new OD({error:v,status:s.status||0,statusText:s.statusText||"Unknown Error",url:N||void 0});o.error(T)};let g=!1;const m=v=>{g||(o.next(c()),g=!0);let N={type:Mt.DownloadProgress,loaded:v.loaded};v.lengthComputable&&(N.total=v.total),"text"===e.responseType&&s.responseText&&(N.partialText=s.responseText),o.next(N)},b=v=>{let N={type:Mt.UploadProgress,loaded:v.loaded};v.lengthComputable&&(N.total=v.total),o.next(N)};return s.addEventListener("load",u),s.addEventListener("error",h),s.addEventListener("timeout",h),s.addEventListener("abort",h),e.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",b)),s.send(a),o.next({type:Mt.Sent}),()=>{s.removeEventListener("error",h),s.removeEventListener("abort",h),s.removeEventListener("load",u),s.removeEventListener("timeout",h),e.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",b)),s.readyState!==s.DONE&&s.abort()}})))}}return t.\u0275fac=function(e){return new(e||t)(B(rD))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();const qh=new q("XSRF_ENABLED"),VD=new q("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),HD=new q("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class UD{}let Dk=(()=>{class t{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=qb(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(B(on),B(Rr),B(VD))},t.\u0275prov=z({token:t,factory:t.\u0275fac}),t})();function wk(t,n){const e=t.url.toLowerCase();if(!ye(qh)||"GET"===t.method||"HEAD"===t.method||e.startsWith("http://")||e.startsWith("https://"))return n(t);const i=ye(UD).getToken(),r=ye(HD);return null!=i&&!t.headers.has(r)&&(t=t.clone({headers:t.headers.set(r,i)})),n(t)}var rt=(()=>((rt=rt||{})[rt.Interceptors=0]="Interceptors",rt[rt.LegacyInterceptors=1]="LegacyInterceptors",rt[rt.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",rt[rt.NoXsrfProtection=3]="NoXsrfProtection",rt[rt.JsonpSupport=4]="JsonpSupport",rt[rt.RequestsMadeViaParent=5]="RequestsMadeViaParent",rt[rt.Fetch=6]="Fetch",rt))();function Ur(t,n){return{\u0275kind:t,\u0275providers:n}}function Ck(...t){const n=[kc,BD,kD,{provide:Rc,useExisting:kD},{provide:Pc,useExisting:BD},{provide:Ea,useValue:wk,multi:!0},{provide:qh,useValue:!0},{provide:UD,useClass:Dk}];for(const e of t)n.push(...e.\u0275providers);return function Fd(t){return{\u0275providers:t}}(n)}const jD=new q("LEGACY_INTERCEPTOR_FN");let Ek=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[Ck(Ur(rt.LegacyInterceptors,[{provide:jD,useFactory:hk},{provide:Ea,useExisting:jD,multi:!0}]))]}),t})(),$D=(()=>{class t{constructor(e){this.http=e}load(){return this.http.get("/assets/config.json").toPromise().then(i=>(Object.assign(this,i),i))}}return t.\u0275fac=function(e){return new(e||t)(B(kc))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),GD=(()=>{class t{constructor(){this.modals=[]}registerModal(e,i){this.modals.push({key:e,modalRef:i})}removeModalByKey(e){let i=-1;for(let r=0;r=0&&delete this.modals[i],i}closeRemoveAllModals(){this.modals.forEach(e=>{e.modalRef.close()}),this.modals.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Bc=(()=>{class t{constructor(){this.contextKeyVal=[]}addContext(e,i){let r=!1;for(let o=0;o=0?this.contextKeyVal[i].value:""}clearContext(){this.contextKeyVal.length=0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Ok{constructor(n,e){this.key=n,this.value=e}}let Sa=(()=>{class t{constructor(e){this.elementLookupService=e,this.contextMenus=[]}registerContextMenu(e,i){this.contextMenus.push({key:e,contextMenu:i}),this.elementLookupService.addElementTagHTML(e,null,i)}removeContextMenuByKey(e){let i=-1;for(let r=0;r=0&&delete this.contextMenus[i],i}retrieveContextValue(e){let i=-1;for(let r=0;r=0?this.contextMenus[i].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return t.\u0275fac=function(e){return new(e||t)(B(sn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xk=(()=>{class t{constructor(e,i,r,o,s,a){this.http=e,this.configService=i,this.modalRefService=r,this.elementLookupService=o,this.contextService=s,this.contextMenuService=a,this.backend_URI="http://localhost:8000",this.backend_URI=i.serverUrl+":"+i.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let e=qt.injector.get(zn);const i=this.http.get(this.backend_URI).pipe(ED((r,o)=>(console.error("Error occurred during the HTTP request:",r),e.postMessage("error connection"),function ek(t,n){const e=$(t)?t:()=>t,i=r=>r.error(e());return new qe(n?r=>n.schedule(i,0,r):i)}(()=>new Error(r.error)))));return i}post(e,i){let r=[];i.forEach(s=>r.push(Object.assign({},s))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",r.length>0?{function:e,context:r}:{function:e}),o}}return t.\u0275fac=function(e){return new(e||t)(B(kc),B($D),B(GD),B(sn),B(Bc),B(Sa))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),zn=(()=>{class t{constructor(e,i,r){this.httpService=e,this.httpClient=i,this.contextService=r,this.frontendJson=new re,this.menuBar=new re,this.messageLists=new re,this.contextMenus=new re,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:e=>{this.lastData=e,this.frontendJson.next(e)}})}policyPost(e){let i=this.contextService.getContext();this.httpService.post(e.policy,i).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}uncheckedPost(e){this.httpClient.post(this.backend_URI+"/backend",e).subscribe({next:i=>{this.lastData=i,this.frontendJson.next(i)}})}detectCreateMenuBar(e){"menu_bar"==e.type?this.menuBar.next(e):e.children.forEach(i=>{this.detectCreateMenuBar(i)})}getAllMessagesContextMenus(e,i,r){"message"==e.type?i.push(e):"context_menu"==e.type?r.push(e):e.children.forEach(o=>{this.getAllMessagesContextMenus(o,i,r)})}postMessage(e,i="danger"){let r=[this.getErrorMessage(e)];this.messageLists.next(r)}getErrorMessage(e,i="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:e},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:i}],when:[],children:[]}}}return t.\u0275fac=function(e){return new(e||t)(B(xk),B(kc),B(Bc))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),On=(()=>{class t{constructor(){}attrBackgroundColor(e,i){e.style.backgroundColor=i.value}attrHeight(e,i){e.style.height=i.value+"px"}attrWidth(e,i){e.style.width=i.value+"px"}setBorderHelper(e,i){let r=Number(this.findGetAttributeValue("border_width",i,"0")),o=this.findGetAttributeValue("border_color",i,"black");this.setBorder(e,r,o,"solid")}setBorder(e,i,r,o){i>0&&(e.style.border=String(i)+"px "+o+" "+r)}addAttributes(e,i){let r=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];i.forEach(o=>{let s=r.findIndex(a=>a.key==o.key);s>=0&&r[s].value(e,o)}),this.setHover(e,i)}addGeneralAttributes(e,i){this.setGrid(e,i),this.setBorderHelper(e,i)}setGrid(e,i){let r=this.findAttribute("grid_row",i),o=this.findAttribute("grid_row_span",i),s=this.findAttribute("grid_column",i),a=this.findAttribute("grid_column_span",i),l=1;null!=o&&(l=Number(o.value));let c=1;if(null!=a&&(c=Number(a.value)),null!=r){let u=Number(r.value)+1;e.style.gridRow=String(u)+"/span "+String(l)}if(null!=s){let u=Number(s.value)+1;e.style.gridColumn=String(u)+"/span "+String(c)}}setHover(e,i){let r=this.findGetAttributeValue("on_hover",i,"false"),o=this.findGetAttributeValue("on_hover_background_color",i,"white"),s=this.findGetAttributeValue("on_hover_foreground_color",i,"black"),a=this.findGetAttributeValue("on_hover_border_color",i,"white"),l=this.findGetAttributeValue("background_color",i,"white"),c=this.findGetAttributeValue("foreground_color",i,"black"),u=Number(this.findGetAttributeValue("border_width",i,"0")),h=this.findGetAttributeValue("border_color",i,"black"),g="solid";"true"==r&&(e.onmouseenter=m=>{e.style.backgroundColor=o,e.style.color=s,this.setBorder(e,u,a,g)},e.onmouseleave=m=>{e.style.backgroundColor=l,e.style.color=c,this.setBorder(e,u,h,g)})}textAttributes(e,i){}addClasses(e,i,r,o,s="class"){r.forEach(function(l){e.classList.add(l)});let a=!1;i.forEach(function(l){if(l.key==s){a=!0;let c=String(l.value);e.classList.add(c)}}),a||o.forEach(function(l){e.classList.add(l)})}setAttributesDirectly(e,i){i.forEach(r=>{e.style[r.key]=r.value})}findAttribute(e,i){let r=null,o=i.findIndex(s=>s.key==e);return o>=0&&(r=i[o]),r}findGetAttributeValue(e,i,r){let o=r,s=i.findIndex(a=>a.key==e);return s>=0&&(o=i[s].value),o}setAbsoulteRelativePositions(e,i,r){let o=Number(this.findGetAttributeValue("pos_x",r.attributes,"-1")),s=Number(this.findGetAttributeValue("pos_y",r.attributes,"-1"));o>=0&&"absstatic"==e&&(i.style.left=String(o)+"px"),o>=0&&"relstatic"==e&&(i.style.left=String(o)+"%"),s>=0&&"absstatic"==e&&(i.style.top=String(s)+"px"),s>=0&&"relstatic"==e&&(i.style.top=String(s)+"%"),(s>=0||o>=0)&&("absstatic"==e||"relstatic"==e)&&(i.style.position="absolute");let a=this.findAttribute("grid_row",r.attributes),l=this.findAttribute("grid_column",r.attributes);null==a&&"grid"==e&&(i.style.gridRow="1"),null==l&&"grid"==e&&(i.style.gridColumn="1")}setChildLayout(e,i){let r=this.findAttribute("child_layout",i),o=this.findAttribute("flex_direction",i);if(null!=r){let s=r?.value;"grid"==s?e.style.display="grid":"flex"==s?(e.style.display="flex",e.style.flexDirection=null!=o?o.value:"column"):("absstatic"==s||"relstatic"==s)&&(e.style.position="relative",e.style.display="flex")}else e.style.display="flex",e.style.flexDirection=null!=o?o.value:"column"}setVisibility(e,i){let r=this.findAttribute("visibility",i);null!=r&&("hidden"==r.value||"collapse"==r.value?e.style.visibility="collapse":("shown"==r.value||"visible"==r.value)&&(e.style.visibility="visible"))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Rk=["child"];function Pk(t,n){}let zD=(()=>{class t{constructor(e,i,r,o){this.childBearerService=e,this.cd=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let e=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(i=>{let r=this.childBearerService.bearChild(this.child,i,e);null!=r&&this.children.push(r)}),this.cd.detectChanges()}}}return t.\u0275fac=function(e){return new(e||t)(y(gu),y(_t),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-container"]],viewQuery:function(e,i){if(1&e&&ut(Rk,5,Mn),2&e){let r;ce(r=ue())&&(i.child=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(e,i){1&e&&V(0,Pk,0,0,"ng-template",null,0,In)}}),t})();function WD(t){let n=[],e="",i=0;for(let r=0;r0&&(t.preventDefault(),t.stopPropagation(),XD())}function XD(){let t=qt.injector.get(Sa),n=!1;return t.contextMenus.forEach(e=>{let i=document.getElementById(e.key);null!=i&&"block"==i.style.display&&(i.style.display="none",n=!0)}),n}function KD(t,n){let e=qt.injector.get(sn),i=t.policy;i=i.substring(1),i=i.slice(0,-1);let r=WD(i),o=r[0],s=r[1],a=r[2],l=e.getElement(o);if(null!=l){if("context_menu"==l.element.type&&null!=n)return void("visibility"!=s||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+o+","+s+","+a):function Fk(t,n){if(n.preventDefault(),n.stopPropagation(),1!=XD()&&null!=qt.injector.get(Sa).retrieveContextValue(t)&&"pageX"in n&&"pageY"in n&&"number"==typeof n.pageX&&"number"==typeof n.pageY){let r=document.getElementById(t);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=n.pageX+"px",r.style.top=n.pageY+"px"))}}(o,n));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==s&&(u=!0,c[h]={id:o,key:s,value:a});0==u&&c.push({id:o,key:s,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(s,a.replaceAll('"',"")),null!=l.tagHtml&&qt.injector.get(gu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+o+"::"+s+"::"+a),console.log(t)}function Vc(t,n){let e=qt.injector.get(Bc),i=/_context_value\(([^)]*)\)/;n&&(i=/_context_value_optional\(([^)]*)\)/);let r=i.exec(t);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},o=r[1],s=e.retrieveContextValue(o);if(0==s.length&&!n)throw new Error("Missing required value for "+o);!a(s)&&s.length>0&&s[0]===s[0].toUpperCase()&&'"'!=s[0]&&(s='"'+s+'"'),t=t.replace(i,s),r=i.exec(t)}return t}function YD(t,n){let e=qt.injector.get(zn),i=t.policy;i=Vc(i,!0),i=Vc(i,!1),t.policy=i,e.policyPost(t)}function ZD(t,n){let e=qt.injector.get(Bc),i=t.policy;if(i=Vc(i,!0),i=Vc(i,!1),"("==i[0]){i=i.substring(1),i=i.slice(0,-1);let s=WD(i);if(s.length>=2){s.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(t));let a=s[0],l=s[1];if(null!=n){let u=n.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{class t{constructor(e){this.frontendService=e,document.onclick=qD,document.oncontextmenu=qD}findCallback(e,i){let r=null,o=i.findIndex(s=>s.actionType==e);return o>=0&&(r=i[o]),r}setCallbacks(e,i){this.handleEvent(e,i,"click","click"),this.handleEvent(e,i,"input","input"),this.handleEvent(e,i,"right_click","contextmenu"),this.handleEvent(e,i,"mouseenter","mouseenter"),this.handleEvent(e,i,"mouseleave","mouseleave"),this.handleEvent(e,i,"load","load"),this.handleEvent(e,i,"dblclick","dblclick")}handleEvent(e,i,r="",o=""){let s=[];if(i.forEach(a=>{a.actionType==r&&s.push(a)}),console.log("Handle event"),s.length>0&&""!=o){if("load"==r)return console.log("Load"),void s.forEach(a=>{if("context"==a.interactionType&&ZD(a,null),"update"==a.interactionType&&KD(a,null),"call"==a.interactionType||"callback"==a.interactionType){console.log("call");try{YD(a)}catch(l){qt.injector.get(zn).postMessage(l.message,"warning")}}});"click"==r&&(e.style.cursor="pointer"),e.addEventListener(o,function(a){s.sort(function(h,g){return h.interactionTypeg.interactionType?-1:0});const l=s.filter(h=>"update"==h.interactionType),c=s.filter(h=>"context"==h.interactionType),u=s.filter(h=>"call"==h.interactionType||"callback"==h.interactionType);l.forEach(h=>{try{KD(h,a)}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}}),c.forEach(h=>{try{ZD(h,a)}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}}),u.length>1&&(u[0].policy="("+u.map(h=>h.policy).join(",")+")"),u.forEach(h=>{try{YD(u[0])}catch(g){qt.injector.get(zn).postMessage(g.message,"warning")}})})}}}return t.\u0275fac=function(e){return new(e||t)(B(zn))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const{isArray:kk}=Array;function JD(t){return Ut(n=>function Lk(t,n){return kk(n)?t(...n):t(n)}(t,n))}const Bk=["addListener","removeListener"],Vk=["addEventListener","removeEventListener"],Hk=["on","off"];function Xt(t,n,e,i){if($(e)&&(i=e,e=void 0),i)return Xt(t,n,e).pipe(JD(i));const[r,o]=function $k(t){return $(t.addEventListener)&&$(t.removeEventListener)}(t)?Vk.map(s=>a=>t[s](n,a,e)):function Uk(t){return $(t.addListener)&&$(t.removeListener)}(t)?Bk.map(QD(t,n)):function jk(t){return $(t.on)&&$(t.off)}(t)?Hk.map(QD(t,n)):[];if(!r&&Cu(t))return mo(s=>Xt(s,n,e))($t(t));if(!r)throw new TypeError("Invalid event target");return new qe(s=>{const a=(...l)=>s.next(1o(a)})}function QD(t,n){return e=>i=>t[e](n,i)}class Gk extends me{constructor(n,e){super()}schedule(n,e=0){return this}}const Hc={setInterval(t,n,...e){const{delegate:i}=Hc;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){const{delegate:n}=Hc;return(n?.clearInterval||clearInterval)(t)},delegate:void 0},e1={now:()=>(e1.delegate||Date).now(),delegate:void 0};class Ta{constructor(n,e=Ta.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}}Ta.now=e1.now;const t1=new class Wk extends Ta{constructor(n,e=Ta.now){super(n,e),this.actions=[],this._active=!1}flush(n){const{actions:e}=this;if(this._active)return void e.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this._active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}(class zk extends Gk{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return Hc.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return e;null!=e&&Hc.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,Be(i,this),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}}),qk=t1;function n1(t=0,n,e=qk){let i=-1;return null!=n&&(ng(n)?e=n:i=n),new qe(r=>{let o=function Xk(t){return t instanceof Date&&!isNaN(t)}(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}const{isArray:Kk}=Array;function i1(t){return 1===t.length&&Kk(t[0])?t[0]:t}function r1(...t){return 1===(t=i1(t)).length?$t(t[0]):new qe(function Yk(t){return n=>{let e=[];for(let i=0;e&&!n.closed&&i{if(e){for(let o=0;o{let r=e.map(()=>[]),o=e.map(()=>!1);i.add(()=>{r=o=null});for(let s=0;!i.closed&&s{if(r[s].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());i.next(n?n(...l):l),r.some((c,u)=>!c.length&&o[u])&&i.complete()}},()=>{o[s]=!0,!r[s].length&&i.complete()}));return()=>{r=o=null}}):bs}function Uc(...t){return function Zk(){return tg(1)}()(Ds(t,Ka(t)))}function It(t){return Dt((n,e)=>{$t(t).subscribe(st(e,()=>e.complete(),vt)),!e.closed&&n.subscribe(e)})}function mi(t){return t<=0?()=>bs:Dt((n,e)=>{let i=0;n.subscribe(st(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}function o1(t,n,e){const i=$(t)||n||e?{next:t,error:n,complete:e}:t;return i?Dt((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(st(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):Si}function Kh(...t){const n=Eu(t);return Dt((e,i)=>{const r=t.length,o=new Array(r);let s=t.map(()=>!1),a=!1;for(let l=0;l{o[l]=c,!a&&!s[l]&&(s[l]=!0,(a=s.every(Si))&&(s=null))},vt));e.subscribe(st(i,l=>{if(a){const c=[l,...o];i.next(n?n(...c):c)}}))})}function s1(t,n){return n?e=>Uc(n.pipe(mi(1),function Qk(){return Dt((t,n)=>{t.subscribe(st(n,vt))})}()),e.pipe(s1(t))):mo((e,i)=>$t(t(e,i)).pipe(mi(1),function eL(t){return Ut(()=>t)}(e)))}const{isArray:rL}=Array,{getPrototypeOf:oL,prototype:sL,keys:aL}=Object;function uL(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}let a1=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(y(Jn),y(ke))},t.\u0275dir=k({type:t}),t})(),jr=(()=>{class t extends a1{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,features:[Oe]}),t})();const ri=new q("NgValueAccessor"),fL={provide:ri,useExisting:de(()=>Yh),multi:!0};let Yh=(()=>{class t extends jr{writeValue(e){this.setProperty("checked",e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(e,i){1&e&&ge("change",function(o){return i.onChange(o.target.checked)})("blur",function(){return i.onTouched()})},features:[We([fL]),Oe]}),t})();const hL={provide:ri,useExisting:de(()=>jc),multi:!0},gL=new q("CompositionEventMode");let jc=(()=>{class t extends a1{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function pL(){const t=va()?va().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(y(Jn),y(ke),y(gL,8))},t.\u0275dir=k({type:t,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(e,i){1&e&&ge("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[We([hL]),Oe]}),t})();const Kt=new q("NgValidators"),_r=new q("NgAsyncValidators");function _1(t){return null!=t}function y1(t){return oc(t)?Ds(t):t}function v1(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function b1(t,n){return n.map(e=>e(t))}function D1(t){return t.map(n=>function _L(t){return!t.validate}(n)?n:e=>n.validate(e))}function Zh(t){return null!=t?function w1(t){if(!t)return null;const n=t.filter(_1);return 0==n.length?null:function(e){return v1(b1(e,n))}}(D1(t)):null}function C1(t){if(!t)return null;const n=t.filter(_1);return 0==n.length?null:function(e){return function dL(...t){const n=Eu(t),{args:e,keys:i}=function lL(t){if(1===t.length){const n=t[0];if(rL(n))return{args:n,keys:null};if(function cL(t){return t&&"object"==typeof t&&oL(t)===sL}(n)){const e=aL(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}(t),r=new qe(o=>{const{length:s}=e;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||o.next(i?uL(i,a):a),o.complete())}))}});return n?r.pipe(JD(n)):r}(b1(e,n).map(y1)).pipe(Ut(v1))}}function Jh(t){return null!=t?C1(D1(t)):null}function N1(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function E1(t){return t._rawValidators}function S1(t){return t._rawAsyncValidators}function Qh(t){return t?Array.isArray(t)?t:[t]:[]}function Gc(t,n){return Array.isArray(t)?t.includes(n):t===n}function T1(t,n){const e=Qh(n);return Qh(t).forEach(r=>{Gc(e,r)||e.push(r)}),e}function M1(t,n){return Qh(n).filter(e=>!Gc(t,e))}class I1{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=Zh(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Jh(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=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class _n extends I1{get formDirective(){return null}get path(){return null}}class yr extends I1{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class A1{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 O1=(()=>{class t extends A1{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(y(yr,2))},t.\u0275dir=k({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&Ne("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[Oe]}),t})(),x1=(()=>{class t extends A1{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(y(_n,10))},t.\u0275dir=k({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&Ne("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[Oe]}),t})();const Ma="VALID",Wc="INVALID",ss="PENDING",Ia="DISABLED";function np(t){return(qc(t)?t.validators:t)||null}function ip(t,n){return(qc(n)?n.asyncValidators:t)||null}function qc(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function P1(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new F(1e3,"");if(!i[e])throw new F(1001,"")}function F1(t,n,e){t._forEachChild((i,r)=>{if(void 0===e[r])throw new F(1002,"")})}class Xc{constructor(n,e){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(e)}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===Ma}get invalid(){return this.status===Wc}get pending(){return this.status==ss}get disabled(){return this.status===Ia}get enabled(){return this.status!==Ia}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(T1(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(T1(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(M1(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(M1(n,this._rawAsyncValidators))}hasValidator(n){return Gc(this._rawValidators,n)}hasAsyncValidator(n){return Gc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){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(e=>{e.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(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=ss,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Ia,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Ma,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!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===Ma||this.status===ss)&&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(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ia:Ma}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=ss,this._hasOwnPendingAsyncValidator=!0;const e=y1(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}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 Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ia:this.errors?Wc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ss)?ss:this._anyControlsHaveStatus(Wc)?Wc:Ma}_anyControlsHaveStatus(n){return this._anyControls(e=>e.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){qc(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 DL(t){return Array.isArray(t)?Zh(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function wL(t){return Array.isArray(t)?Jh(t):t||null}(this._rawAsyncValidators)}}class $r extends Xc{constructor(n,e,i){super(np(e),ip(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){F1(this,0,n),Object.keys(n).forEach(i=>{P1(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_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}}class k1 extends $r{}const Gr=new q("CallSetDisabledState",{providedIn:"root",factory:()=>Aa}),Aa="always";function Oa(t,n,e=Aa){rp(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function NL(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&L1(t,n)})}(t,n),function SL(t,n){const e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function EL(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&L1(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function CL(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function Yc(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Jc(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function Zc(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function rp(t,n){const e=E1(t);null!==n.validator?t.setValidators(N1(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=S1(t);null!==n.asyncValidator?t.setAsyncValidators(N1(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const r=()=>t.updateValueAndValidity();Zc(n._rawValidators,r),Zc(n._rawAsyncValidators,r)}function Jc(t,n){let e=!1;if(null!==t){if(null!==n.validator){const r=E1(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(null!==n.asyncValidator){const r=S1(t);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}const i=()=>{};return Zc(n._rawValidators,i),Zc(n._rawAsyncValidators,i),e}function L1(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function H1(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function U1(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const zr=class extends Xc{constructor(n=null,e,i){super(np(e),ip(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),qc(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=U1(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){H1(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){H1(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){U1(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}};let W1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=k({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),X1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const cp=new q("NgModelWithFormControlWarning"),HL={provide:_n,useExisting:de(()=>Qc)};let Qc=(()=>{class t extends _n{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Jc(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return Oa(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Yc(e.control||null,e,!1),function AL(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function V1(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(Yc(i||null,e),(t=>t instanceof zr)(r)&&(Oa(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function B1(t,n){rp(t,n)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function TL(t,n){return Jc(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){rp(this.form,this),this._oldForm&&Jc(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(y(Kt,10),y(_r,10),y(Gr,8))},t.\u0275dir=k({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&ge("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[We([HL]),Oe,un]}),t})();const $L={provide:yr,useExisting:de(()=>fp)};let fp=(()=>{class t extends yr{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function ap(t,n){if(!n)return null;let e,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===jc?e=o:function IL(t){return Object.getPrototypeOf(t.constructor)===jr}(o)?i=o:r=o}),r||i||e||null}(0,o)}ngOnChanges(e){this._added||this._setUpControl(),function sp(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return function Kc(t,n){return[...n.path,t]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(y(_n,13),y(Kt,10),y(_r,10),y(ri,10),y(cp,8))},t.\u0275dir=k({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[We([$L]),Oe,un]}),t})();const GL={provide:ri,useExisting:de(()=>eu),multi:!0};function Q1(t,n){return null==t?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${t}: ${n}`.slice(0,50))}let eu=(()=>{class t extends jr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){this.value=e;const r=Q1(this._getOptionId(e),e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){const i=function zL(t){return t.split(":")[0]}(e);return this._optionMap.has(i)?this._optionMap.get(i):e}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=Nt(t)))(i||t)}}(),t.\u0275dir=k({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(e,i){1&e&&ge("change",function(o){return i.onChange(o.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},features:[We([GL]),Oe]}),t})(),ew=(()=>{class t{constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(Q1(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn),y(eu,9))},t.\u0275dir=k({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const WL={provide:ri,useExisting:de(()=>hp),multi:!0};function tw(t,n){return null==t?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${t}: ${n}`.slice(0,50))}let hp=(()=>{class t extends jr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(e){this._compareWith=e}writeValue(e){let i;if(this.value=e,Array.isArray(e)){const r=e.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{const r=[],o=i.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a{class t{constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){null!=this._select&&(this._value=e,this._setElementValue(tw(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(tw(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn),y(hp,9))},t.\u0275dir=k({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),fw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[X1]}),t})();class hw extends Xc{constructor(n,e,i){super(np(e),ip(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){F1(this,0,n),n.forEach((i,r)=>{P1(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function pw(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let n2=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const r=this._reduceControls(e);let o={};return pw(i)?o=i:null!==i&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new $r(r,o)}record(e,i=null){const r=this._reduceControls(e);return new k1(r,i)}control(e,i,r){let o={};return this.useNonNullable?(pw(i)?o=i:(o.validators=i,o.asyncValidators=r),new zr(e,{...o,nonNullable:!0})):new zr(e,i,r)}array(e,i,r){const o=e.map(s=>this._createControl(s));return new hw(o,i,r)}_reduceControls(e){const i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){return e instanceof zr||e instanceof Xc?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),i2=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Gr,useValue:e.callSetDisabledState??Aa}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[fw]}),t})(),r2=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:cp,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Gr,useValue:e.callSetDisabledState??Aa}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[fw]}),t})();var o2={left:"right",right:"left",bottom:"top",top:"bottom"};function tu(t){return t.replace(/left|right|bottom|top/g,function(n){return o2[n]})}function Gi(t){return t.split("-")[0]}var s2={start:"end",end:"start"};function gw(t){return t.replace(/start|end/g,function(n){return s2[n]})}var Wn="top",_i="bottom",yi="right",qn="left",gp="auto",Ra=[Wn,_i,yi,qn],as="start",Pa="end",mw="viewport",Fa="popper",_w=Ra.reduce(function(t,n){return t.concat([n+"-"+as,n+"-"+Pa])},[]),yw=[].concat(Ra,[gp]).reduce(function(t,n){return t.concat([n,n+"-"+as,n+"-"+Pa])},[]),y2=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Xn(t){if(null==t)return window;if("[object Window]"!==t.toString()){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function qr(t){return t instanceof Xn(t).Element||t instanceof Element}function oi(t){return t instanceof Xn(t).HTMLElement||t instanceof HTMLElement}function mp(t){return!(typeof ShadowRoot>"u")&&(t instanceof Xn(t).ShadowRoot||t instanceof ShadowRoot)}function vr(t){return((qr(t)?t.ownerDocument:t.document)||window.document).documentElement}var Xr=Math.max,nu=Math.min,ls=Math.round;function _p(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(n){return n.brand+"/"+n.version}).join(" "):navigator.userAgent}function vw(){return!/^((?!chrome|android).)*safari/i.test(_p())}function cs(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var i=t.getBoundingClientRect(),r=1,o=1;n&&oi(t)&&(r=t.offsetWidth>0&&ls(i.width)/t.offsetWidth||1,o=t.offsetHeight>0&&ls(i.height)/t.offsetHeight||1);var a=(qr(t)?Xn(t):window).visualViewport,l=!vw()&&e,c=(i.left+(l&&a?a.offsetLeft:0))/r,u=(i.top+(l&&a?a.offsetTop:0))/o,h=i.width/r,g=i.height/o;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function yp(t){var n=Xn(t);return{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}}function vp(t){return cs(vr(t)).left+yp(t).scrollLeft}function ir(t){return Xn(t).getComputedStyle(t)}function zi(t){return t?(t.nodeName||"").toLowerCase():null}function iu(t){return"html"===zi(t)?t:t.assignedSlot||t.parentNode||(mp(t)?t.host:null)||vr(t)}function bp(t){var n=ir(t);return/auto|scroll|overlay|hidden/.test(n.overflow+n.overflowY+n.overflowX)}function bw(t){return["html","body","#document"].indexOf(zi(t))>=0?t.ownerDocument.body:oi(t)&&bp(t)?t:bw(iu(t))}function ka(t,n){var e;void 0===n&&(n=[]);var i=bw(t),r=i===(null==(e=t.ownerDocument)?void 0:e.body),o=Xn(i),s=r?[o].concat(o.visualViewport||[],bp(i)?i:[]):i,a=n.concat(s);return r?a:a.concat(ka(iu(s)))}function D2(t){return["table","td","th"].indexOf(zi(t))>=0}function Dw(t){return oi(t)&&"fixed"!==ir(t).position?t.offsetParent:null}function La(t){for(var n=Xn(t),e=Dw(t);e&&D2(e)&&"static"===ir(e).position;)e=Dw(e);return e&&("html"===zi(e)||"body"===zi(e)&&"static"===ir(e).position)?n:e||function w2(t){var n=/firefox/i.test(_p());if(/Trident/i.test(_p())&&oi(t)&&"fixed"===ir(t).position)return null;var r=iu(t);for(mp(r)&&(r=r.host);oi(r)&&["html","body"].indexOf(zi(r))<0;){var o=ir(r);if("none"!==o.transform||"none"!==o.perspective||"paint"===o.contain||-1!==["transform","perspective"].indexOf(o.willChange)||n&&"filter"===o.willChange||n&&o.filter&&"none"!==o.filter)return r;r=r.parentNode}return null}(t)||n}function ww(t,n){var e=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(e&&mp(e)){var i=n;do{if(i&&t.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Dp(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Cw(t,n,e){return n===mw?Dp(function v2(t,n){var e=Xn(t),i=vr(t),r=e.visualViewport,o=i.clientWidth,s=i.clientHeight,a=0,l=0;if(r){o=r.width,s=r.height;var c=vw();(c||!c&&"fixed"===n)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:o,height:s,x:a+vp(t),y:l}}(t,e)):qr(n)?function C2(t,n){var e=cs(t,!1,"fixed"===n);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(n,e):Dp(function b2(t){var n,e=vr(t),i=yp(t),r=null==(n=t.ownerDocument)?void 0:n.body,o=Xr(e.scrollWidth,e.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Xr(e.scrollHeight,e.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+vp(t),l=-i.scrollTop;return"rtl"===ir(r||e).direction&&(a+=Xr(e.clientWidth,r?r.clientWidth:0)-o),{width:o,height:s,x:a,y:l}}(vr(t)))}function us(t){return t.split("-")[1]}function wp(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Nw(t){var l,n=t.reference,e=t.element,i=t.placement,r=i?Gi(i):null,o=i?us(i):null,s=n.x+n.width/2-e.width/2,a=n.y+n.height/2-e.height/2;switch(r){case Wn:l={x:s,y:n.y-e.height};break;case _i:l={x:s,y:n.y+n.height};break;case yi:l={x:n.x+n.width,y:a};break;case qn:l={x:n.x-e.width,y:a};break;default:l={x:n.x,y:n.y}}var c=r?wp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(o){case as:l[c]=l[c]-(n[u]/2-e[u]/2);break;case Pa:l[c]=l[c]+(n[u]/2-e[u]/2)}}return l}function Sw(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Tw(t,n){return n.reduce(function(e,i){return e[i]=t,e},{})}function Cp(t,n){void 0===n&&(n={});var i=n.placement,r=void 0===i?t.placement:i,o=n.strategy,s=void 0===o?t.strategy:o,a=n.boundary,l=void 0===a?"clippingParents":a,c=n.rootBoundary,u=void 0===c?mw:c,h=n.elementContext,g=void 0===h?Fa:h,m=n.altBoundary,b=void 0!==m&&m,v=n.padding,N=void 0===v?0:v,T=Sw("number"!=typeof N?N:Tw(N,Ra)),O=t.rects.popper,R=t.elements[b?g===Fa?"reference":Fa:g],L=function E2(t,n,e,i){var r="clippingParents"===n?function N2(t){var n=ka(iu(t)),i=["absolute","fixed"].indexOf(ir(t).position)>=0&&oi(t)?La(t):t;return qr(i)?n.filter(function(r){return qr(r)&&ww(r,i)&&"body"!==zi(r)}):[]}(t):[].concat(n),o=[].concat(r,[e]),a=o.reduce(function(l,c){var u=Cw(t,c,i);return l.top=Xr(u.top,l.top),l.right=nu(u.right,l.right),l.bottom=nu(u.bottom,l.bottom),l.left=Xr(u.left,l.left),l},Cw(t,o[0],i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(qr(R)?R:R.contextElement||vr(t.elements.popper),l,u,s),J=cs(t.elements.reference),xe=Nw({reference:J,element:O,strategy:"absolute",placement:r}),He=Dp(Object.assign({},O,xe)),At=g===Fa?He:J,Vt={top:L.top-At.top+T.top,bottom:At.bottom-L.bottom+T.bottom,left:L.left-At.left+T.left,right:At.right-L.right+T.right},an=t.modifiersData.offset;if(g===Fa&&an){var Di=an[r];Object.keys(Vt).forEach(function(vn){var no=[yi,_i].indexOf(vn)>=0?1:-1,io=[Wn,_i].indexOf(vn)>=0?"y":"x";Vt[vn]+=Di[io]*no})}return Vt}const I2={name:"flip",enabled:!0,phase:"main",fn:function M2(t){var n=t.state,e=t.options,i=t.name;if(!n.modifiersData[i]._skip){for(var r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0===s||s,l=e.fallbackPlacements,c=e.padding,u=e.boundary,h=e.rootBoundary,g=e.altBoundary,m=e.flipVariations,b=void 0===m||m,v=e.allowedAutoPlacements,N=n.options.placement,T=Gi(N),O=l||(T!==N&&b?function T2(t){if(Gi(t)===gp)return[];var n=tu(t);return[gw(t),n,gw(n)]}(N):[tu(N)]),R=[N].concat(O).reduce(function(gs,br){return gs.concat(Gi(br)===gp?function S2(t,n){void 0===n&&(n={});var r=n.boundary,o=n.rootBoundary,s=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?yw:l,u=us(n.placement),h=u?a?_w:_w.filter(function(b){return us(b)===u}):Ra,g=h.filter(function(b){return c.indexOf(b)>=0});0===g.length&&(g=h);var m=g.reduce(function(b,v){return b[v]=Cp(t,{placement:v,boundary:r,rootBoundary:o,padding:s})[Gi(v)],b},{});return Object.keys(m).sort(function(b,v){return m[b]-m[v]})}(n,{placement:br,boundary:u,rootBoundary:h,padding:c,flipVariations:b,allowedAutoPlacements:v}):br)},[]),L=n.rects.reference,J=n.rects.popper,xe=new Map,He=!0,At=R[0],Vt=0;Vt=0,io=no?"width":"height",Kn=Cp(n,{placement:an,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),wi=no?vn?yi:qn:vn?_i:Wn;L[io]>J[io]&&(wi=tu(wi));var mu=tu(wi),ro=[];if(o&&ro.push(Kn[Di]<=0),a&&ro.push(Kn[wi]<=0,Kn[mu]<=0),ro.every(function(gs){return gs})){At=an,He=!1;break}xe.set(an,ro)}if(He)for(var jp=function(br){var qa=R.find(function(vu){var oo=xe.get(vu);if(oo)return oo.slice(0,br).every(function($p){return $p})});if(qa)return At=qa,"break"},Wa=b?3:1;Wa>0&&"break"!==jp(Wa);Wa--);n.placement!==At&&(n.modifiersData[i]._skip=!0,n.placement=At,n.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Ba(t,n,e){return Xr(t,nu(n,e))}function Np(t){var n=cs(t),e=t.offsetWidth,i=t.offsetHeight;return Math.abs(n.width-e)<=1&&(e=n.width),Math.abs(n.height-i)<=1&&(i=n.height),{x:t.offsetLeft,y:t.offsetTop,width:e,height:i}}const R2={name:"preventOverflow",enabled:!0,phase:"main",fn:function x2(t){var n=t.state,e=t.options,i=t.name,r=e.mainAxis,o=void 0===r||r,s=e.altAxis,a=void 0!==s&&s,g=e.tether,m=void 0===g||g,b=e.tetherOffset,v=void 0===b?0:b,N=Cp(n,{boundary:e.boundary,rootBoundary:e.rootBoundary,padding:e.padding,altBoundary:e.altBoundary}),T=Gi(n.placement),w=us(n.placement),O=!w,R=wp(T),L=function A2(t){return"x"===t?"y":"x"}(R),J=n.modifiersData.popperOffsets,xe=n.rects.reference,He=n.rects.popper,At="function"==typeof v?v(Object.assign({},n.rects,{placement:n.placement})):v,Vt="number"==typeof At?{mainAxis:At,altAxis:At}:Object.assign({mainAxis:0,altAxis:0},At),an=n.modifiersData.offset?n.modifiersData.offset[n.placement]:null,Di={x:0,y:0};if(J){if(o){var vn,no="y"===R?Wn:qn,io="y"===R?_i:yi,Kn="y"===R?"height":"width",wi=J[R],mu=wi+N[no],ro=wi-N[io],_u=m?-He[Kn]/2:0,jp=w===as?xe[Kn]:He[Kn],Wa=w===as?-He[Kn]:-xe[Kn],yu=n.elements.arrow,gs=m&&yu?Np(yu):{width:0,height:0},br=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},qa=br[no],vu=br[io],oo=Ba(0,xe[Kn],gs[Kn]),$p=O?xe[Kn]/2-_u-oo-qa-Vt.mainAxis:jp-oo-qa-Vt.mainAxis,hj=O?-xe[Kn]/2+_u+oo+vu+Vt.mainAxis:Wa+oo+vu+Vt.mainAxis,Gp=n.elements.arrow&&La(n.elements.arrow),pj=Gp?"y"===R?Gp.clientTop||0:Gp.clientLeft||0:0,GC=null!=(vn=an?.[R])?vn:0,mj=wi+hj-GC,zC=Ba(m?nu(mu,wi+$p-GC-pj):mu,wi,m?Xr(ro,mj):ro);J[R]=zC,Di[R]=zC-wi}if(a){var WC,so=J[L],bu="y"===L?"height":"width",qC=so+N["x"===R?Wn:qn],XC=so-N["x"===R?_i:yi],zp=-1!==[Wn,qn].indexOf(T),KC=null!=(WC=an?.[L])?WC:0,YC=zp?qC:so-xe[bu]-He[bu]-KC+Vt.altAxis,ZC=zp?so+xe[bu]+He[bu]-KC-Vt.altAxis:XC,JC=m&&zp?function O2(t,n,e){var i=Ba(t,n,e);return i>e?e:i}(YC,so,ZC):Ba(m?YC:qC,so,m?ZC:XC);J[L]=JC,Di[L]=JC-so}n.modifiersData[i]=Di}},requiresIfExists:["offset"]},L2={name:"arrow",enabled:!0,phase:"main",fn:function F2(t){var n,e=t.state,i=t.name,r=t.options,o=e.elements.arrow,s=e.modifiersData.popperOffsets,a=Gi(e.placement),l=wp(a),u=[qn,yi].indexOf(a)>=0?"height":"width";if(o&&s){var h=function(n,e){return Sw("number"!=typeof(n="function"==typeof n?n(Object.assign({},e.rects,{placement:e.placement})):n)?n:Tw(n,Ra))}(r.padding,e),g=Np(o),m="y"===l?Wn:qn,b="y"===l?_i:yi,v=e.rects.reference[u]+e.rects.reference[l]-s[l]-e.rects.popper[u],N=s[l]-e.rects.reference[l],T=La(o),w=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=w/2-g[u]/2+(v/2-N/2),xe=Ba(h[m],J,w-g[u]-h[b]);e.modifiersData[i]=((n={})[l]=xe,n.centerOffset=xe-J,n)}},effect:function k2(t){var n=t.state,i=t.options.element,r=void 0===i?"[data-popper-arrow]":i;null!=r&&("string"==typeof r&&!(r=n.elements.popper.querySelector(r))||ww(n.elements.popper,r)&&(n.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U2(t,n,e){void 0===e&&(e=!1);var i=oi(n),r=oi(n)&&function H2(t){var n=t.getBoundingClientRect(),e=ls(n.width)/t.offsetWidth||1,i=ls(n.height)/t.offsetHeight||1;return 1!==e||1!==i}(n),o=vr(n),s=cs(t,r,e),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!e)&&(("body"!==zi(n)||bp(o))&&(a=function V2(t){return t!==Xn(t)&&oi(t)?function B2(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}(t):yp(t)}(n)),oi(n)?((l=cs(n,!0)).x+=n.clientLeft,l.y+=n.clientTop):o&&(l.x=vp(o))),{x:s.left+a.scrollLeft-l.x,y:s.top+a.scrollTop-l.y,width:s.width,height:s.height}}function j2(t){var n=new Map,e=new Set,i=[];function r(o){e.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(a){if(!e.has(a)){var l=n.get(a);l&&r(l)}}),i.push(o)}return t.forEach(function(o){n.set(o.name,o)}),t.forEach(function(o){e.has(o.name)||r(o)}),i}function G2(t){var n;return function(){return n||(n=new Promise(function(e){Promise.resolve().then(function(){n=void 0,e(t())})})),n}}var Mw={placement:"bottom",modifiers:[],strategy:"absolute"};function Iw(){for(var t=arguments.length,n=new Array(t),e=0;e=0?-1:1,o="function"==typeof e?e(Object.assign({},n,{placement:t})):e,s=o[0],a=o[1];return s=s||0,a=(a||0)*r,[qn,yi].indexOf(i)>=0?{x:a,y:s}:{x:s,y:a}}(h,n.rects,o),u},{}),a=s[n.placement],c=a.y;null!=n.modifiersData.popperOffsets&&(n.modifiersData.popperOffsets.x+=a.x,n.modifiersData.popperOffsets.y+=c),n.modifiersData[i]=s}};function gB(t,n){if(1&t){const e=Tn();j(0,"button",1),ge("click",function(){return dn(e),fn(W().close())}),H()}}const Ow=["*"],zB=["dialog"];function Kr(t){return"string"==typeof t}function Yr(t){return null!=t}function ds(t){return(t||document.body).getBoundingClientRect()}function kw(t=document){const n=t?.activeElement;return n?n.shadowRoot?kw(n.shadowRoot):n:null}const Lw={animation:!0,transitionTimerDelayMs:5},LV=()=>{},{transitionTimerDelayMs:BV}=Lw,Va=new Map,yn=(t,n,e,i)=>{let r=i.context||{};const o=Va.get(n);if(o)switch(i.runningTransition){case"continue":return bs;case"stop":t.run(()=>o.transition$.complete()),r=Object.assign(o.context,r),Va.delete(n)}const s=e(n,i.animation,r)||LV;if(!i.animation||"none"===window.getComputedStyle(n).transitionProperty)return t.run(()=>s()),_o(void 0).pipe(function FV(t){return n=>new qe(e=>n.subscribe({next:s=>t.run(()=>e.next(s)),error:s=>t.run(()=>e.error(s)),complete:()=>t.run(()=>e.complete())}))}(t));const a=new re,l=new re,c=a.pipe(function Jk(...t){return n=>Uc(n,_o(...t))}(!0));Va.set(n,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function kV(t){const{transitionDelay:n,transitionDuration:e}=window.getComputedStyle(t);return 1e3*(parseFloat(n)+parseFloat(e))}(n);return t.runOutsideAngular(()=>{const h=Xt(n,"transitionend").pipe(It(c),gi(({target:m})=>m===n));r1(n1(u+BV).pipe(It(c)),h,l).pipe(It(c)).subscribe(()=>{Va.delete(n),t.run(()=>{s(),a.next(),a.complete()})})}),a.asObservable()};let Ha=(()=>{class t{constructor(){this.animation=Lw.animation}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Ww=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const qV=({classList:t})=>{t.remove("show")};let XV=(()=>{class t{constructor(e){this._ngbConfig=e,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(e){this._animation=e}}return t.\u0275fac=function(e){return new(e||t)(B(Ha))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),KV=(()=>{class t{constructor(e,i,r,o){this._renderer=i,this._element=r,this._zone=o,this.closed=new Y,this.dismissible=e.dismissible,this.type=e.type,this.animation=e.animation}close(){const e=yn(this._zone,this._element.nativeElement,qV,{animation:this.animation,runningTransition:"continue"});return e.subscribe(()=>this.closed.emit()),e}ngOnChanges(e){const i=e.type;i&&!i.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${i.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${i.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return t.\u0275fac=function(e){return new(e||t)(y(XV),y(Jn),y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(e,i){2&e&&Ne("fade",i.animation)("alert-dismissible",i.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[un,ti],ngContentSelectors:Ow,decls:2,vars:1,consts:function(){let n;return n=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",n,3,"click",4,"ngIf"],["type","button","aria-label",n,1,"btn-close",3,"click"]]},template:function(e,i){1&e&&(Ef(),Sf(0),V(1,gB,1,0,"button",0)),2&e&&(P(1),x("ngIf",i.dismissible))},dependencies:[Gn],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),qw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),Kw=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),Ap=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();var X=(()=>((X=X||{})[X.Tab=9]="Tab",X[X.Enter=13]="Enter",X[X.Escape=27]="Escape",X[X.Space=32]="Space",X[X.PageUp=33]="PageUp",X[X.PageDown=34]="PageDown",X[X.End=35]="End",X[X.Home=36]="Home",X[X.ArrowLeft=37]="ArrowLeft",X[X.ArrowUp=38]="ArrowUp",X[X.ArrowRight=39]="ArrowRight",X[X.ArrowDown=40]="ArrowDown",X))();const cu=(t,n)=>!!n&&n.some(e=>e.contains(t)),eC=(t,n)=>!n||null!=function PV(t,n){return!n||typeof t.closest>"u"?null:t.closest(n)}(t,n),mH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function tC(t,n,e,i,r,o,s,a){e&&t.runOutsideAngular((t=>mH?()=>setTimeout(()=>t(),100):t)(()=>{const c=Xt(n,"keydown").pipe(It(r),gi(g=>g.which===X.Escape),o1(g=>g.preventDefault())),u=Xt(n,"mousedown").pipe(Ut(g=>{const m=g.target;return 2!==g.button&&!cu(m,s)&&("inside"===e?cu(m,o)&&eC(m,a):"outside"===e?!cu(m,o):eC(m,a)||!cu(m,o))}),It(r)),h=Xt(n,"mouseup").pipe(Kh(u),gi(([g,m])=>m),function tL(t,n=t1){const e=n1(t,n);return s1(()=>e)}(0),It(r));r1([c.pipe(Ut(g=>0)),h.pipe(Ut(g=>1))]).subscribe(g=>t.run(()=>i(g)))}))}const nC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function iC(t){const n=Array.from(t.querySelectorAll(nC)).filter(e=>-1!==e.tabIndex);return[n[0],n[n.length-1]]}let yH=(()=>{class t{constructor(e){this._element=e.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const vH=/\s+/,bH=/ +/gi,DH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},CH=/^left/,NH=/^right/,EH=/^start/,SH=/^end/;function oC({placement:t,baseClass:n},e){let i=Array.isArray(t)?t:t.split(vH),o=i.findIndex(c=>"auto"===c);o>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==i.find(u=>-1!==u.search("^"+c))&&i.splice(o++,1,c)});const s=i.map(c=>function wH(t,n){const[e,i]=DH[t];return n&&i||e}(c,e.isRTL()));return{placement:s.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!n,phase:"write",fn({state:c}){const u=new RegExp(n+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let m=h.className;m=m.replace(u,""),m+=` ${function TH(t,n){let[e,i]=n.split("-");const r=e.replace(CH,"start").replace(NH,"end");let o=[r];if(i){let s=i;("left"===e||"right"===e)&&(s=s.replace(EH,"top").replace(SH,"bottom")),o.push(`${r}-${s}`)}return t&&(o=o.map(s=>`${t}-${s}`)),o.join(" ")}(n,g)}`,m=m.trim().replace(bH," "),h.className=m}},I2,R2,L2,{enabled:!0,name:"flip",options:{fallbackPlacements:s}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function sC(t){return t}new Date(1882,10,12),new Date(2174,10,25);let mC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),BH=(()=>{class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=e=>e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Vp=(()=>{class t{set disabled(e){this._disabled=""===e||!0===e,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(e,i){this.elementRef=e,this._renderer=i,this._disabled=!1}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Jn))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(e,i){2&e&&(ei("tabIndex",i.disabled?-1:0),Ne("disabled",i.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),Hp=(()=>{class t{constructor(e,i){this.dropdown=e,this.placement="bottom",this.isOpen=!1,this.nativeElement=i.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(e,i,r){if(1&e&&mt(r,Vp,4),2&e){let o;ce(o=ue())&&(i.menuItems=o)}},hostVars:4,hostBindings:function(e,i){1&e&&ge("keydown.ArrowUp",function(o){return i.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return i.dropdown.onKeyDown(o)})("keydown.Home",function(o){return i.dropdown.onKeyDown(o)})("keydown.End",function(o){return i.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return i.dropdown.onKeyDown(o)})("keydown.Space",function(o){return i.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return i.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return i.dropdown.onKeyDown(o)}),2&e&&Ne("dropdown-menu",!0)("show",i.dropdown.isOpen())},standalone:!0}),t})(),hu=(()=>{class t{constructor(e,i){this.dropdown=e,this.nativeElement=i.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(e,i){2&e&&Te("aria-expanded",i.dropdown.isOpen())},standalone:!0}),t})(),_C=(()=>{class t extends hu{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(y(de(()=>Ga)),y(ke))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(e,i){1&e&&ge("click",function(){return i.dropdown.toggle()})("keydown.ArrowUp",function(o){return i.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return i.dropdown.onKeyDown(o)})("keydown.Home",function(o){return i.dropdown.onKeyDown(o)})("keydown.End",function(o){return i.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return i.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return i.dropdown.onKeyDown(o)}),2&e&&Te("aria-expanded",i.dropdown.isOpen())},standalone:!0,features:[We([{provide:hu,useExisting:de(()=>t)}]),Oe]}),t})(),Ga=(()=>{class t{constructor(e,i,r,o,s,a){this._changeDetector=e,this._document=r,this._ngZone=o,this._elementRef=s,this._renderer=a,this._destroyCloseHandlers$=new re,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=i.placement,this.popperOptions=i.popperOptions,this.container=i.container,this.autoClose=i.autoClose,this._positioning=function aC(){const t=ye(yH);let n=null;return{createPopper(e){if(!n){let r=(e.updatePopperOptions||sC)(oC(e,t));n=rB(e.hostElement,e.targetElement,r)}},update(){n&&n.update()},setOptions(e){if(n){let r=(e.updatePopperOptions||sC)(oC(e,t));n.setOptions(r)}},destroy(){n&&(n.destroy(),n=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(mi(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(e){if(e.container&&this._open&&this._applyContainer(this.container),e.placement&&!e.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),e.dropdownClass){const{currentValue:i,previousValue:r}=e.dropdownClass;this._applyCustomDropdownClass(i,r)}e.autoClose&&this._open&&(this.autoClose=e.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:e=>this.popperOptions(function cC(t){return n=>(n.modifiers.push(aB,{name:"offset",options:{offset:()=>t}}),n)}([0,2])(e))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),tC(this._ngZone,this._document,this.autoClose,e=>{this.close(),0===e&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(e){const i=e.which,r=this._getMenuElements();let o=-1,s=null;const a=this._isEventFromToggle(e);if(!a&&r.length&&r.forEach((l,c)=>{l.contains(e.target)&&(s=l),l===kw(this._document)&&(o=c)}),i!==X.Space&&i!==X.Enter){if(i!==X.Tab){if(a||s){if(this.open(),r.length){switch(i){case X.ArrowDown:o=Math.min(o+1,r.length-1);break;case X.ArrowUp:if(this._isDropup()&&-1===o){o=r.length-1;break}o=Math.max(o-1,0);break;case X.Home:o=0;break;case X.End:o=r.length-1}r[o].focus()}e.preventDefault()}}else if(e.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===e.target)return void("body"!==this.container||e.shiftKey?e.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const l=this._menu.nativeElement.querySelectorAll(nC);e.shiftKey&&e.target===l[0]?(this._anchor.nativeElement.focus(),e.preventDefault()):!e.shiftKey&&e.target===l[l.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Xt(e.target,"focusout").pipe(mi(1)).subscribe(({relatedTarget:l})=>{this._elementRef.nativeElement.contains(l)||this.close()})}}else s&&(!0===this.autoClose||"inside"===this.autoClose)&&Xt(s,"click").pipe(mi(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(e){return this._anchor.nativeElement.contains(e.target)}_getMenuElements(){const e=this._menu;return null==e?[]:e.menuItems.filter(i=>!i.disabled).map(i=>i.elementRef.nativeElement)}_positionMenu(){const e=this._menu;this.isOpen()&&e&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(e){return Array.isArray(e)?e[0]:e.split(" ")[0]}_resetContainer(){const e=this._renderer;this._menu&&e.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(e.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(e=null){if(this._resetContainer(),"body"===e){const i=this._renderer,r=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||i.createElement("div");i.setStyle(o,"position","absolute"),i.setStyle(r,"position","static"),i.setStyle(o,"z-index","1055"),i.appendChild(o,r),i.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(e,i){const r="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;r&&(i&&this._renderer.removeClass(r,i),e&&this._renderer.addClass(r,e))}_applyPlacementClasses(e){const i=this._menu;if(i){e||(e=this._getFirstPlacement(this.placement));const r=this._renderer,o=this._elementRef.nativeElement;r.removeClass(o,"dropup"),r.removeClass(o,"dropdown");const{nativeElement:s}=i;"static"===this.display?(i.placement=null,r.setAttribute(s,"data-bs-popper","static")):(i.placement=e,r.removeAttribute(s,"data-bs-popper"));const a=-1!==e.search("^top")?"dropup":"dropdown";r.addClass(o,a);const l=this._bodyContainer;l&&(r.removeClass(l,"dropup"),r.removeClass(l,"dropdown"),r.addClass(l,a))}}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(BH),y(on),y(Le),y(ke),y(Jn))},t.\u0275dir=k({type:t,selectors:[["","ngbDropdown",""]],contentQueries:function(e,i,r){if(1&e&&(mt(r,Hp,5),mt(r,hu,5)),2&e){let o;ce(o=ue())&&(i._menu=o.first),ce(o=ue())&&(i._anchor=o.first)}},hostVars:2,hostBindings:function(e,i){2&e&&Ne("show",i.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[un]}),t})(),yC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();class to{constructor(n,e,i){this.nodes=n,this.viewRef=e,this.componentRef=i}}let VH=(()=>{class t{constructor(e,i){this._el=e,this._zone=i}ngOnInit(){this._zone.onStable.asObservable().pipe(mi(1)).subscribe(()=>{yn(this._zone,this._el.nativeElement,(e,i)=>{i&&ds(e),e.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return yn(this._zone,this._el.nativeElement,({classList:e})=>e.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return t.\u0275fac=function(e){return new(e||t)(y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(e,i){2&e&&(Lr("modal-backdrop"+(i.backdropClass?" "+i.backdropClass:"")),Ne("show",!i.animation)("fade",i.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[ti],decls:0,vars:0,template:function(e,i){},encapsulation:2}),t})();class vC{update(n){}close(n){}dismiss(n){}}const HH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],UH=["animation","backdropClass"];class jH{_applyWindowOptions(n,e){HH.forEach(i=>{Yr(e[i])&&(n[i]=e[i])})}_applyBackdropOptions(n,e){UH.forEach(i=>{Yr(e[i])&&(n[i]=e[i])})}update(n){this._applyWindowOptions(this._windowCmptRef.instance,n),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,n)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(It(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(It(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(n,e,i,r){this._windowCmptRef=n,this._contentRef=e,this._backdropCmptRef=i,this._beforeDismiss=r,this._closed=new re,this._dismissed=new re,this._hidden=new re,n.instance.dismissEvent.subscribe(o=>{this.dismiss(o)}),this.result=new Promise((o,s)=>{this._resolve=o,this._reject=s}),this.result.then(null,()=>{})}close(n){this._windowCmptRef&&(this._closed.next(n),this._resolve(n),this._removeModalElements())}_dismiss(n){this._dismissed.next(n),this._reject(n),this._removeModalElements()}dismiss(n){if(this._windowCmptRef)if(this._beforeDismiss){const e=this._beforeDismiss();!function Rw(t){return t&&t.then}(e)?!1!==e&&this._dismiss(n):e.then(i=>{!1!==i&&this._dismiss(n)},()=>{})}else this._dismiss(n)}_removeModalElements(){const n=this._windowCmptRef.instance.hide(),e=this._backdropCmptRef?this._backdropCmptRef.instance.hide():_o(void 0);n.subscribe(()=>{const{nativeElement:i}=this._windowCmptRef.location;i.parentNode.removeChild(i),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),e.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:i}=this._backdropCmptRef.location;i.parentNode.removeChild(i),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),Xh(n,e).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var bi=(()=>((bi=bi||{})[bi.BACKDROP_CLICK=0]="BACKDROP_CLICK",bi[bi.ESC=1]="ESC",bi))();let $H=(()=>{class t{constructor(e,i,r){this._document=e,this._elRef=i,this._zone=r,this._closed$=new re,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new re,this.hidden=new re}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Kr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(e){this.dismissEvent.emit(e)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(mi(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:e}=this._elRef,i={animation:this.animation,runningTransition:"stop"},s=Xh(yn(this._zone,e,()=>e.classList.remove("show"),i),yn(this._zone,this._dialogEl.nativeElement,()=>{},i));return s.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),s}_show(){const e={animation:this.animation,runningTransition:"continue"};Xh(yn(this._zone,this._elRef.nativeElement,(o,s)=>{s&&ds(o),o.classList.add("show")},e),yn(this._zone,this._dialogEl.nativeElement,()=>{},e)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:e}=this._elRef;this._zone.runOutsideAngular(()=>{Xt(e,"keydown").pipe(It(this._closed$),gi(r=>r.which===X.Escape)).subscribe(r=>{this.keyboard?requestAnimationFrame(()=>{r.defaultPrevented||this._zone.run(()=>this.dismiss(bi.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let i=!1;Xt(this._dialogEl.nativeElement,"mousedown").pipe(It(this._closed$),o1(()=>i=!1),Tu(()=>Xt(e,"mouseup").pipe(It(this._closed$),mi(1))),gi(({target:r})=>e===r)).subscribe(()=>{i=!0}),Xt(e,"click").pipe(It(this._closed$)).subscribe(({target:r})=>{e===r&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!i&&this._zone.run(()=>this.dismiss(bi.BACKDROP_CLICK))),i=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:e}=this._elRef;if(!e.contains(document.activeElement)){const i=e.querySelector("[ngbAutofocus]"),r=iC(e)[0];(i||r||e).focus()}}_restoreFocus(){const e=this._document.body,i=this._elWithFocus;let r;r=i&&i.focus&&e.contains(i)?i:e,this._zone.runOutsideAngular(()=>{setTimeout(()=>r.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&yn(this._zone,this._elRef.nativeElement,({classList:e})=>(e.add("modal-static"),()=>e.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return t.\u0275fac=function(e){return new(e||t)(y(on),y(ke),y(Le))},t.\u0275cmp=Qe({type:t,selectors:[["ngb-modal-window"]],viewQuery:function(e,i){if(1&e&&ut(zB,7),2&e){let r;ce(r=ue())&&(i._dialogEl=r.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(e,i){2&e&&(Te("aria-modal",!0)("aria-labelledby",i.ariaLabelledBy)("aria-describedby",i.ariaDescribedBy),Lr("modal d-block"+(i.windowClass?" "+i.windowClass:"")),Ne("fade",i.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[ti],ngContentSelectors:Ow,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(e,i){1&e&&(Ef(),j(0,"div",0,1)(2,"div",2),Sf(3),H()()),2&e&&Lr("modal-dialog"+(i.size?" modal-"+i.size:"")+(i.centered?" modal-dialog-centered":"")+i.fullscreenClass+(i.scrollable?" modal-dialog-scrollable":"")+(i.modalDialogClass?" "+i.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),GH=(()=>{class t{constructor(e){this._document=e}hide(){const e=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),i=this._document.body,r=i.style,{overflow:o,paddingRight:s}=r;if(e>0){const a=parseFloat(window.getComputedStyle(i).paddingRight);r.paddingRight=`${a+e}px`}return r.overflow="hidden",()=>{e>0&&(r.paddingRight=s),r.overflow=o}}}return t.\u0275fac=function(e){return new(e||t)(B(on))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),zH=(()=>{class t{constructor(e,i,r,o,s,a,l){this._applicationRef=e,this._injector=i,this._environmentInjector=r,this._document=o,this._scrollBar=s,this._rendererFactory=a,this._ngZone=l,this._activeWindowCmptHasChanged=new re,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const c=this._windowCmpts[this._windowCmpts.length-1];((t,n,e,i=!1)=>{t.runOutsideAngular(()=>{const r=Xt(n,"focusin").pipe(It(e),Ut(o=>o.target));Xt(n,"keydown").pipe(It(e),gi(o=>o.which===X.Tab),Kh(r)).subscribe(([o,s])=>{const[a,l]=iC(n);(s===a||s===n)&&o.shiftKey&&(l.focus(),o.preventDefault()),s===l&&!o.shiftKey&&(a.focus(),o.preventDefault())}),i&&Xt(n,"click").pipe(It(e),Kh(r),Ut(o=>o[1])).subscribe(o=>o.focus())})})(this._ngZone,c.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(c.location.nativeElement)}})}_restoreScrollBar(){const e=this._scrollBarRestoreFn;e&&(this._scrollBarRestoreFn=null,e())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(e,i,r){const o=r.container instanceof HTMLElement?r.container:Yr(r.container)?this._document.querySelector(r.container):this._document.body,s=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${r.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const a=new vC,l=(e=r.injector||e).get(Qi,null)||this._environmentInjector,c=this._getContentRef(e,l,i,a,r);let u=!1!==r.backdrop?this._attachBackdrop(o):void 0,h=this._attachWindowComponent(o,c.nodes),g=new jH(h,c,u,r.beforeDismiss);return this._registerModalRef(g),this._registerWindowCmpt(h),g.hidden.pipe(mi(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(s.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),a.close=m=>{g.close(m)},a.dismiss=m=>{g.dismiss(m)},a.update=m=>{g.update(m)},g.update(r),1===this._modalRefs.length&&s.addClass(this._document.body,"modal-open"),u&&u.instance&&u.changeDetectorRef.detectChanges(),h.changeDetectorRef.detectChanges(),g}get activeInstances(){return this._activeInstances}dismissAll(e){this._modalRefs.forEach(i=>i.dismiss(e))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(e){let i=mh(VH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(i.hostView),e.appendChild(i.location.nativeElement),i}_attachWindowComponent(e,i){let r=mh($H,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:i});return this._applicationRef.attachView(r.hostView),e.appendChild(r.location.nativeElement),r}_getContentRef(e,i,r,o,s){return r?r instanceof nt?this._createFromTemplateRef(r,o):Kr(r)?this._createFromString(r):this._createFromComponent(e,i,r,o,s):new to([])}_createFromTemplateRef(e,i){const o=e.createEmbeddedView({$implicit:i,close(s){i.close(s)},dismiss(s){i.dismiss(s)}});return this._applicationRef.attachView(o),new to([o.rootNodes],o)}_createFromString(e){const i=this._document.createTextNode(`${e}`);return new to([[i]])}_createFromComponent(e,i,r,o,s){const l=mh(r,{environmentInjector:i,elementInjector:Hn.create({providers:[{provide:vC,useValue:o}],parent:e})}),c=l.location.nativeElement;return s.scrollable&&c.classList.add("component-host-scrollable"),this._applicationRef.attachView(l.hostView),new to([[c]],l.hostView,l)}_setAriaHidden(e){const i=e.parentElement;i&&e!==this._document.body&&(Array.from(i.children).forEach(r=>{r!==e&&"SCRIPT"!==r.nodeName&&(this._ariaHiddenValues.set(r,r.getAttribute("aria-hidden")),r.setAttribute("aria-hidden","true"))}),this._setAriaHidden(i))}_revertAriaHidden(){this._ariaHiddenValues.forEach((e,i)=>{e?i.setAttribute("aria-hidden",e):i.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(e){const i=()=>{const r=this._modalRefs.indexOf(e);r>-1&&(this._modalRefs.splice(r,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(e),this._activeInstances.emit(this._modalRefs),e.result.then(i,i)}_registerWindowCmpt(e){this._windowCmpts.push(e),this._activeWindowCmptHasChanged.next(),e.onDestroy(()=>{const i=this._windowCmpts.indexOf(e);i>-1&&(this._windowCmpts.splice(i,1),this._activeWindowCmptHasChanged.next())})}}return t.\u0275fac=function(e){return new(e||t)(B(Vr),B(Hn),B(Qi),B(on),B(GH),B(ef),B(Le))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),WH=(()=>{class t{constructor(e){this._ngbConfig=e,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(e){this._animation=e}}return t.\u0275fac=function(e){return new(e||t)(B(Ha))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),bC=(()=>{class t{constructor(e,i,r){this._injector=e,this._modalStack=i,this._config=r}open(e,i={}){const r={...this._config,animation:this._config.animation,...i};return this._modalStack.open(this._injector,e,r)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(e){this._modalStack.dismissAll(e)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return t.\u0275fac=function(e){return new(e||t)(B(Hn),B(zH),B(WH))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),DC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({providers:[bC]}),t})(),NC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),xC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),PC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),FC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),kC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),LC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),BC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),VC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),HC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();new q("live announcer delay",{providedIn:"root",factory:function uU(){return 100}});let UC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})(),jC=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({}),t})();const dU=[Ww,qw,Kw,Ap,mC,yC,DC,NC,jC,xC,PC,FC,kC,LC,BC,VC,HC,UC];let fU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Fe({type:t}),t.\u0275inj=Ae({imports:[dU,Ww,qw,Kw,Ap,mC,yC,DC,NC,jC,xC,PC,FC,kC,LC,BC,VC,HC,UC]}),t})();const hU=["ddbut"];function pU(t,n){if(1&t&&(j(0,"button",8),ze(1,"i",null,9),Xe(3),H()),2&t){const e=n.$implicit;jn("id",e.element.id),P(3),Wt(e.label)}}let gU=(()=>{class t{constructor(e,i,r,o,s,a){this.attributeService=e,this.cd=i,this.frontendService=r,this.elementLookupService=s,this.callbackHelperService=a,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(e=>{let i=this.attributeService.findGetAttributeValue("label",e.attributes,""),r=new mU(i,e);this.elementLookupService.addElementObject(e.id,r,e),this.dropDownMenuItems.push(r),this.cd.detectChanges();let o=document.getElementById(e.id);if(null!=o){r.setHtmlElement(o),r.setAttributes(e.attributes),this.callbackHelperService.setCallbacks(o,e.when);let s=o.children.item(0);null!=s&&this.attributeService.addClasses(s,e.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(e){let i=this.attributeService.findAttribute("selected",e);null!=i&&(this.buttonLabel=i.value);let r=this.ddbut.nativeElement;this.attributeService.addAttributes(r,e),this.attributeService.textAttributes(r,e),this.attributeService.setAttributesDirectly(r,e),this.attributeService.addClasses(r,e,["btn"],["btn-outline-dark"]),r.style.border_color=this.attributeService.findGetAttributeValue("border_color",e,"black"),this.cd.detectChanges()}onClick(e){this.frontendService.policyPost(e.when[0])}}return t.\u0275fac=function(e){return new(e||t)(y(On),y(_t),y(zn),y(on),y(sn),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-dropdown-menu"]],viewQuery:function(e,i){if(1&e&&ut(hU,7),2&e){let r;ce(r=ue())&&(i.ddbut=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(e,i){1&e&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),Xe(6),H(),j(7,"div",6),V(8,pU,4,2,"button",7),H()()()()()),2&e&&(P(4),jn("id",null==i.element?null:i.element.id),P(2),Ui(" ",i.buttonLabel," "),P(2),x("ngForOf",i.dropDownMenuItems))},dependencies:[$n,Ga,_C,Hp,Vp]}),t})();class mU{constructor(n,e){this.htmlElement=null,this.label=n,this.element=e}setHtmlElement(n){this.htmlElement=n}setAttributes(n){if(null!=this.htmlElement){let e=qt.injector.get(On);e.addAttributes(this.htmlElement,n),e.textAttributes(this.htmlElement,n),e.setAttributesDirectly(this.htmlElement,n),e.addClasses(this.htmlElement,n,["dropdown-item"],[])}}}const _U=["label"],yU=["middleDiv"],vU=["outerDiv"];let bU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("label",e);null!=i&&(this.elementLabel=i.value);let r=this.label.nativeElement,o=this.middleDiv.nativeElement,s=this.outerDiv.nativeElement;this.attributeService.addAttributes(r,e),this.attributeService.textAttributes(r,e),this.attributeService.setAttributesDirectly(r,e),this.attributeService.addClasses(r,e,[],[]),this.setOuterDivStyles(s),this.setMiddleDivStyle(o),this.setParagraphStyle(r),this.cd.detectChanges()}setOuterDivStyles(e){e.style.display="table",e.style.minHeight="100%",e.style.minWidth="100%",e.style.overflow="hidden"}setMiddleDivStyle(e){e.style.minWidth="100%",e.style.display="table-row"}setParagraphStyle(e){e.style.display="table-cell",e.style.verticalAlign="middle",e.style.textAlign="center"}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-label"]],viewQuery:function(e,i){if(1&e&&(ut(_U,7),ut(yU,7),ut(vU,7)),2&e){let r;ce(r=ue())&&(i.label=r.first),ce(r=ue())&&(i.middleDiv=r.first),ce(r=ue())&&(i.outerDiv=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(e,i){1&e&&(j(0,"div",null,0)(2,"div",null,1),ze(4,"p",2,3),H()()),2&e&&(P(4),x("innerHTML",i.elementLabel,D_))}}),t})();const DU=["theButton"];let wU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(e){this.buttonLabel=this.attributeService.findGetAttributeValue("label",e,"");let i=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(i,e),this.attributeService.addAttributes(i,e),this.attributeService.textAttributes(i,e),this.attributeService.addClasses(i,e,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(i,e),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,i,this.element);let r=i.children.item(0);this.attributeService.addClasses(r,e,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",e,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-button"]],viewQuery:function(e,i){if(1&e&&ut(DU,5),2&e){let r;ce(r=ue())&&(i.theButton=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(e,i){1&e&&(j(0,"button",0,1),ze(2,"i",null,2),Xe(4),H()),2&e&&(Te("disabled",!!i.disabledAttribute||null),P(4),Wt(i.buttonLabel))}}),t})();var CU=Ue(7);const NU=["theImage"],EU=["svgContainer"];function SU(t,n){if(1&t&&(j(0,"div"),ze(1,"img",1,2),H()),2&t){const e=W();P(1),x("src",e.imageSource,Pd)}}function TU(t,n){1&t&&ze(0,"div",null,3)}let MU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let e=this.attributeService.findAttribute("image",this.element.attributes),i=this.attributeService.findAttribute("image_type",this.element.attributes);null!=e&&null!=i&&i.value.startsWith("clingraph")?this.svgImageHandler(this.element,e,i):this.defaultImageHandler(this.element,e),this.cd.detectChanges()}}setAttributes(e){console.log("TODO?")}svgImageHandler(e,i,r){const s=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let a=CU.lW.from(i.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=a,this.cd.detectChanges();let l=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),c=[];e.children.forEach(h=>{let g=this.attributeService.findAttribute("clingraph_id",h.attributes);if(null!=g){let m=g.value;if("svg_edge"==h.type){const b=m.match(s);if(b){m=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let v=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");c.push({key:v,value:h})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",m)}c.push({key:m,value:h})}});let u=this.generateSvgNodeUiNodeAssociationList(l,c);this.addEventListeners(u),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(e,i){let r=[];return e.forEach(o=>{let s=null;i.forEach(a=>{if(o.id==a.key)s=a.value;else for(const l of Array.from(o.children))"title"==l.tagName&&l.innerHTML==a.key&&(s=a.value)}),null!=s?(this.elementLookupService.addElementTagHTML(s.id,o,s),r.push({svg:o,ui:s})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),r}addEventListeners(e){e.forEach(i=>{this.callbackService.setCallbacks(i.svg,i.ui.when)})}defaultImageHandler(e,i){this.imageType="normal",this.cd.detectChanges();let r=this.theImage.nativeElement;this.attributeService.addAttributes(r,e.attributes),this.attributeService.textAttributes(r,e.attributes),this.attributeService.setAttributesDirectly(r,e.attributes),this.callbackService.setCallbacks(r,e.when);let o=this.attributeService.findAttribute("image_path",e.attributes);null!=i?this.imageSource="data:image/png;base64,"+i.value:null!=o&&(this.imageSource=o.value)}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-canvas"]],viewQuery:function(e,i){if(1&e&&(ut(NU,5),ut(EU,5)),2&e){let r;ce(r=ue())&&(i.theImage=r.first),ce(r=ue())&&(i.svgContainer=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(e,i){1&e&&(V(0,SU,3,1,"div",0),V(1,TU,2,0,"div",0)),2&e&&(x("ngIf","normal"==i.imageType),P(1),x("ngIf","svg"==i.imageType))},dependencies:[Gn]}),t})(),IU=(()=>{class t{constructor(){}toUserInputASP(e,i,r,o,s){return`user_input(${e},${i},${r},${o},${s})`}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const AU=["svgContainer"];function OU(t,n){if(1&t&&ze(0,"textarea",13),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("formControlName",e.name)}}function xU(t,n){if(1&t){const e=Tn();j(0,"input",14),ge("click",function(r){return dn(e),fn(W(2).checkClick(r))}),H()}if(2&t){const e=W().$implicit,i=W();jn("id",e.name+"_checkbox_"+i.currID),x("formControlName",e.name)}}function RU(t,n){if(1&t&&ze(0,"input",15),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("type",e.type)("formControlName",e.name)}}function PU(t,n){if(1&t&&(j(0,"option",17),Xe(1),H()),2&t){const e=n.$implicit;jn("value",e),P(1),Wt(e)}}function FU(t,n){if(1&t&&(j(0,"select",13),V(1,PU,2,2,"option",16),H()),2&t){const e=W().$implicit,i=W();jn("id",e.name+"_"+i.currID),x("formControlName",e.name),P(1),x("ngForOf",i.retrieveSelectOptions(e))}}function kU(t,n){if(1&t&&(j(0,"div")(1,"label"),Xe(2),H(),ze(3,"br"),V(4,OU,1,2,"textarea",10),V(5,xU,1,2,"input",11),V(6,RU,1,3,"input",12),V(7,FU,2,3,"select",10),H()),2&t){const e=n.$implicit;P(2),Wt(e.name),P(2),x("ngIf","textarea"==e.type),P(1),x("ngIf","checkbox"==e.type),P(1),x("ngIf","textarea"!=e.type&&"checkbox"!=e.type&&"select"!=e.type),P(1),x("ngIf","select"==e.type)}}function LU(t,n){if(1&t&&(j(0,"h2",18),Xe(1),H()),2&t){const e=W();P(1),Wt(e.errStr)}}function BU(t,n){1&t&&(j(0,"h2"),Xe(1,"No graph was created from your request."),H())}let VU=(()=>{class t{constructor(e,i,r,o,s){this.attributeService=e,this.frontendService=i,this.fb=r,this.cd=o,this.aspService=s,this.element=null,this.optionsForm=new $r({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let e=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=e){let i=e;this.svgString=i.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=i.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(e){return"options"in e?e.options:[]}handleNodeClick(e){console.log("clicked");let i=e.target,r=i.parentNode;if(console.log(i),console.log(r),null!==r&&"g"==r.nodeName){console.log("past first");let o=r.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const s=o.textContent;null!==s&&""!==s&&(r.id.startsWith("node")?(console.log("clicked node with ID: ",s),this.type="node",this.updateOptions(s,"node")):i.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(s,"edge")))}}}checkClick(e){console.log("clicked box");let i=e.target;console.log(i.getAttribute("value")),console.log(i.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(e,i){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=e;let r=this.nodeOptionsList.filter(o=>o.id==e&&o.compType==i);if(1!=r.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${e} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${e} in the options list!`;else{this.optionsList=r.map(s=>s.options).flat();let o=new $r({});this.optionsList.forEach(s=>{o.addControl(s.name,new zr("checkbox"==s.type?"true"==s.state||1==s.state:s.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let e=[],i=this.optionsForm.value;console.log("Form: ",i),this.optionsList.forEach(s=>{s.state=i[s.name]}),this.nodeOptionsList.forEach(s=>{s.options.forEach(a=>{e.push(this.aspService.toUserInputASP(s.compType,s.id,a.type,a.name,a.state))})});let o={function:`graphUpdate(${e.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return t.\u0275fac=function(e){return new(e||t)(y(On),y(zn),y(n2),y(_t),y(IU))},t.\u0275cmp=Qe({type:t,selectors:[["app-main-page"]],viewQuery:function(e,i){if(1&e&&ut(AU,5),2&e){let r;ce(r=ue())&&(i.svgContainer=r.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(e,i){1&e&&(j(0,"div",0)(1,"div",1)(2,"label"),Xe(3,"OPTIONS"),H(),ze(4,"br"),j(5,"form",2),ge("ngSubmit",function(){return i.submitForm()}),V(6,kU,8,5,"div",3),ze(7,"input",4),H()(),j(8,"div",5),V(9,LU,2,1,"h2",6),j(10,"div",7,8),ge("click",function(o){return i.handleNodeClick(o)}),H(),V(12,BU,2,0,"h2",9),H()()),2&e&&(P(5),x("formGroup",i.optionsForm),P(1),x("ngForOf",i.optionsList),P(3),x("ngIf",i.errStr.length>0),P(3),x("ngIf",i.svgString.length<=0))},dependencies:[$n,Gn,W1,ew,nw,jc,Yh,eu,O1,x1,Qc,fp],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const HU=["theTextfield"];let UU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(e){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",e,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",e,"text");let i=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(i,e),this.attributeService.addAttributes(i,e),this.attributeService.textAttributes(i,e),this.attributeService.addGeneralAttributes(i,e),this.attributeService.addClasses(i,e,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,i,this.element);let r=this.attributeService.findGetAttributeValue("disabled",e,"false");"false"==r?this.disabledAttribute=!1:"true"==r?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(r),this.disabledAttribute=!1),this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-textfield"]],viewQuery:function(e,i){if(1&e&&ut(HU,5),2&e){let r;ce(r=ue())&&(i.theTextfield=r.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(e,i){1&e&&(j(0,"div",0),ze(1,"input",1,2),H()),2&e&&(P(1),jn("type",i.inputType),x("placeholder",i.placeholder),Te("disabled",!!i.disabledAttribute||null))}}),t})();const jU=["child"],$U=["content"];function GU(t,n){if(1&t){const e=Tn();j(0,"div",1)(1,"h4",2),Xe(2),H(),j(3,"button",3),ge("click",function(){return fn(dn(e).$implicit.dismiss("Cross click"))}),H()(),j(4,"div",4),ze(5,"app-container",5),H()}if(2&t){const e=W();P(2),Wt(e.modalTitle),P(3),x("element",e.element)("parentLayout",e.parentLayout)}}let $C=(()=>{class t{constructor(e,i,r,o,s,a){this.childBearerService=e,this.cd=i,this.attributeService=r,this.elementLookupService=o,this.modalService=s,this.modalRefService=a,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("visible",e),r=this.attributeService.findAttribute("title",e),o=this.attributeService.findAttribute("size",e);if(null!=r&&(this.modalTitle=r.value),null!=i&&null!=this.element){if("shown"!=i.value&&"visible"!=i.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==i.value||"collapse"==i.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let s=null;s=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,s),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(a=>{if(this.closeResult=`Closed with: ${a}`,null!=this.element)for(let l=0;l{if(this.closeResult=`Dismissed ${this.getDismissReason(a)}`,null!=this.element)for(let l=0;l{class t{constructor(){}componentCreation(e,i){let r=[{key:"container",value:zD},{key:"dropdown_menu",value:gU},{key:"label",value:bU},{key:"button",value:wU},{key:"canvas",value:MU},{key:"clingraph_interactive",value:VU},{key:"textfield",value:UU},{key:"modal",value:$C}],o=null,s=r.findIndex(a=>a.key==i);return s>=0&&(o=e.createComponent(r[s].value)),null==o&&"menu_bar"!=i&&"context_menu"!=i&&"message"!=i&&console.log("Could not associate component key with an component: "+i),o}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),gu=(()=>{class t{constructor(e,i,r){this.componentService=e,this.elementLookupService=i,this.attributeService=r}bearChild(e,i,r){let o=this.componentService.componentCreation(e,i.type);if(null!=o){o.setInput("element",i),o.setInput("parentLayout",r);let s=o.location.nativeElement;s.id=i.id,this.elementLookupService.addElementTagHTML(i.id,s,i),this.setAllTagAttributes(s,i,r)}return o}setAllTagAttributes(e,i,r){"button"!=i.type&&this.attributeService.setAbsoulteRelativePositions(r,e,i),this.setChildTagAttributes(e,i)}setChildTagAttributes(e,i){this.attributeService.setAttributesDirectly(e,i.attributes),this.attributeService.addGeneralAttributes(e,i.attributes),this.attributeService.addAttributes(e,i.attributes),"container"==i.type&&(this.attributeService.setChildLayout(e,i.attributes),this.attributeService.setVisibility(e,i.attributes),this.attributeService.addClasses(e,i.attributes,[],["p-2"]))}}return t.\u0275fac=function(e){return new(e||t)(B(zU),B(sn),B(On))},t.\u0275prov=z({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function WU(t,n){if(1&t){const e=Tn();j(0,"ngb-alert",1),ge("closed",function(){return dn(e),fn(W().messageClosed())}),j(1,"strong"),Xe(2),H(),Xe(3),H()}if(2&t){const e=W();x("type",e.attrType)("dismissible",!0),P(2),Wt(e.attrTitle),P(1),Ui(" ",e.attrMessage,"\n")}}let qU=(()=>{class t{constructor(e,i,r,o){this.cd=e,this.callbackService=i,this.attributeService=r,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findGetAttributeValue("type",e,"warning"),r=this.attributeService.findGetAttributeValue("title",e,""),o=this.attributeService.findGetAttributeValue("message",e,"");this.visible=this.attributeService.findGetAttributeValue("visible",e,"shown"),"error"==i&&(i="danger"),this.attrType=i,this.attrTitle=r,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y($i),y(On),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(e,i){1&e&&V(0,WU,4,4,"ngb-alert",0),2&e&&x("ngIf","shown"==i.visible)},dependencies:[Gn,KV]}),t})();function XU(t,n){if(1&t&&(j(0,"li",2)(1,"a"),ze(2,"i",3),Xe(3),H()()),2&t){const e=n.$implicit;x("id",e.id),P(3),Wt(e.text)}}let KU=(()=>{class t{constructor(e,i,r){this.cd=e,this.attributeService=i,this.callbackService=r,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(e=>{let i=e.id,r=this.attributeService.findGetAttributeValue("label",e.attributes,"");this.buttonList.push({id:i,text:r,attributes:e.attributes})}),this.cd.detectChanges(),this.element.children.forEach(e=>{let i=document.getElementById(e.id);null!=i&&this.callbackService.setCallbacks(i,e.when)}),this.cd.detectChanges(),this.buttonList.forEach(e=>{let i=document.getElementById(e.id);if(null!=i){this.attributeService.addClasses(i,e.attributes,["list-group-item","list-group-item-action"],[]);let r=i.children.item(0);if(null!=r){let o=r.children.item(0);null!=o&&this.attributeService.addClasses(o,e.attributes,["fa"],[],"icon")}}}))}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(On),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(e,i){1&e&&(j(0,"ul",0),V(1,XU,4,2,"li",1),H()),2&e&&(P(1),x("ngForOf",i.buttonList))},dependencies:[$n],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const YU=["parent"],ZU=["child"];function JU(t,n){}function QU(t,n){1&t&&(j(0,"div",3,4),V(2,JU,0,0,"ng-template",null,5,In),H()),2&t&&jn("id",W().window_id)}function ej(t,n){1&t&&ze(0,"app-message",8),2&t&&x("element",n.$implicit)}function tj(t,n){if(1&t&&(j(0,"div",6),V(1,ej,1,1,"app-message",7),H()),2&t){const e=W();P(1),x("ngForOf",e.messageList)}}function nj(t,n){if(1&t&&ze(0,"app-context-menu",9),2&t){const e=n.$implicit;x("id",e.id)("element",e)}}let ij=(()=>{class t{constructor(e,i,r,o,s,a,l){this.childBearerService=e,this.attributeService=i,this.cd=r,this.frontendService=o,this.elementLookupService=s,this.contextMenuService=a,this.callbackService=l,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:e=>{this.messageList=e,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:e=>{this.children.forEach(a=>{this.child.clear()}),this.children=[],this.cleanValues(e),this.frontendService.detectCreateMenuBar(e);let i=[],r=[];this.frontendService.getAllMessagesContextMenus(e,i,r),this.frontendService.messageLists.next(i),this.frontendService.contextMenus.subscribe(a=>{a.forEach(l=>{this.contextMenuService.registerContextMenu(l.id,l)}),this.contextMenuList=a}),this.frontendService.contextMenus.next(r);let o=e.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let s=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(a=>{let l=this.childBearerService.bearChild(this.child,a,s);null!=l&&this.children.push(l)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:e=>console.log(e)}),this.frontendService.initialGet()}setAttributes(e){let i=this.parent.nativeElement;this.attributeService.setChildLayout(i,e),this.attributeService.addAttributes(i,e),this.attributeService.addClasses(i,e,[],[]),this.cd.detectChanges()}doCallbacks(e){this.callbackService.setCallbacks(this.parent.nativeElement,e)}cleanValues(e){for(let i=0;i"))}for(let i=0;i{this.cleanValues(i)})}stringSanitizer(e){return null==e||(e.length>0&&'"'==e[0]&&(e=e.slice(1)),e.length>0&&'"'==e[e.length-1]&&(e=e.slice(0,-1))),e}}return t.\u0275fac=function(e){return new(e||t)(y(gu),y(On),y(_t),y(zn),y(sn),y(Sa),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-new-main"]],viewQuery:function(e,i){if(1&e&&(ut(YU,5),ut(ZU,5,Mn)),2&e){let r;ce(r=ue())&&(i.parent=r.first),ce(r=ue())&&(i.child=r.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(e,i){1&e&&(V(0,QU,4,1,"div",0),V(1,tj,2,1,"div",1),V(2,nj,1,2,"app-context-menu",2)),2&e&&(x("ngIf",null!=i.window),P(1),x("ngIf",null!=i.window),P(1),x("ngForOf",i.contextMenuList))},dependencies:[$n,Gn,qU,KU]}),t})();const rj=["titleIcon"];function oj(t,n){if(1&t&&(j(0,"button",4),ze(1,"i",null,5),Xe(3),H()),2&t){const e=n.$implicit;jn("id",e.id),P(3),Ui(" ",e.title,"")}}let sj=(()=>{class t{constructor(e,i,r,o,s,a){this.cd=e,this.displayFrontend=i,this.callbackService=r,this.attributeService=o,this.elementLookupService=s,this.callBackHelperService=a,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(e=>{let i=this.attributeService.findGetAttributeValue("label",e.attributes,""),r=new aj(e.id,i,e);this.elementLookupService.addElementObject(e.id,r,e),this.menuBarButtons.push(r)}),this.cd.detectChanges(),this.menuBarButtons.forEach(e=>{let i=document.getElementById(e.id);if(null!=i){e.setHtmlElement(i),e.setAttributes(e.element.attributes),this.attributeService.addClasses(i,e.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(i,e.element.when);let r=i.children.item(0);null!=r&&this.attributeService.addClasses(r,e.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(e){let i=this.attributeService.findAttribute("title",e);null!=i&&(this.title=i.value),this.attributeService.addClasses(this.titleIcon.nativeElement,e,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(e){null!=e&&this.displayFrontend.policyPost(e)}}return t.\u0275fac=function(e){return new(e||t)(y(_t),y(zn),y($i),y(On),y(sn),y($i))},t.\u0275cmp=Qe({type:t,selectors:[["app-menu-bar"]],viewQuery:function(e,i){if(1&e&&ut(rj,5),2&e){let r;ce(r=ue())&&(i.titleIcon=r.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(e,i){1&e&&(j(0,"nav",0)(1,"a",1),ze(2,"i",null,2),Xe(4),H(),j(5,"div"),V(6,oj,4,2,"button",3),H()()),2&e&&(P(4),Ui(" ",i.title," "),P(2),x("ngForOf",i.menuBarButtons))},dependencies:[$n]}),t})();class aj{constructor(n,e,i){this.id="",this.title="",this.htmlElement=null,this.id=n,this.title=e,this.element=i}setHtmlElement(n){this.htmlElement=n}setAttributes(n){let e=n.find(i=>"label"==i.key);this.title=null!=e?e.value:""}}const lj=["contentWrapper"];function cj(t,n){1&t&&ze(0,"app-menu-bar",3),2&t&&x("element",W().menuBar)}let uj=(()=>{class t{constructor(e,i,r){this.frontendService=e,this.cd=i,this.elementLookupService=r,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:e=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=e,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){qt.injector.get(sn).elementLookup.forEach(i=>{"menu_bar_section"==i.element.type&&null!=i.object&&"collapsed"in i.object&&0==i.object.collapsed&&(i.object.collapsed=!0)})})}}return t.\u0275fac=function(e){return new(e||t)(y(zn),y(_t),y(sn))},t.\u0275cmp=Qe({type:t,selectors:[["app-root"]],viewQuery:function(e,i){if(1&e&&ut(lj,5),2&e){let r;ce(r=ue())&&(i.contentWrapper=r.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(e,i){1&e&&(V(0,cj,1,1,"app-menu-bar",0),j(1,"div",1,2),ze(3,"app-new-main"),H()),2&e&&x("ngIf",null!=i.menuBar)},dependencies:[Gn,ij,sj],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function dj(t){return()=>t.load()}let fj=(()=>{class t{constructor(e){this.injector=e,qt.injector=e}}return t.\u0275fac=function(e){return new(e||t)(B(Hn))},t.\u0275mod=Fe({type:t,bootstrap:[uj]}),t.\u0275inj=Ae({providers:[{provide:eb,useFactory:dj,deps:[$D],multi:!0}],imports:[qF,r2,i2,eD,Ek,fU,Ap]}),t})();(function Tg(t,n,e){const i=t.\u0275cmp;i.directiveDefs=rl(n,!1),i.pipeDefs=rl(e,!0)})($C,[zD],[]),zF().bootstrapModule(fj).catch(t=>console.error(t))},919:(Ci,Zt)=>{"use strict";Zt.byteLength=function je(Q){var pe=De(Q),Ze=pe[1];return 3*(pe[0]+Ze)/4-Ze},Zt.toByteArray=function ht(Q){var pe,xt,we=De(Q),Ze=we[0],Je=we[1],Re=new ft(function S(Q,pe,we){return 3*(pe+we)/4-we}(0,Ze,Je)),Ot=0,ln=Je>0?Ze-4:Ze;for(xt=0;xt>16&255,Re[Ot++]=pe>>8&255,Re[Ot++]=255&pe;return 2===Je&&(pe=$[Q.charCodeAt(xt)]<<2|$[Q.charCodeAt(xt+1)]>>4,Re[Ot++]=255&pe),1===Je&&(pe=$[Q.charCodeAt(xt)]<<10|$[Q.charCodeAt(xt+1)]<<4|$[Q.charCodeAt(xt+2)]>>2,Re[Ot++]=pe>>8&255,Re[Ot++]=255&pe),Re},Zt.fromByteArray=function vt(Q){for(var pe,we=Q.length,Ze=we%3,Je=[],Ot=0,ln=we-Ze;Otln?ln:Ot+16383));return 1===Ze?Je.push(Ue[(pe=Q[we-1])>>2]+Ue[pe<<4&63]+"=="):2===Ze&&Je.push(Ue[(pe=(Q[we-2]<<8)+Q[we-1])>>10]+Ue[pe>>4&63]+Ue[pe<<2&63]+"="),Je.join("")};for(var Ue=[],$=[],ft=typeof Uint8Array<"u"?Uint8Array:Array,Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=0;Be<64;++Be)Ue[Be]=Ye[Be],$[Ye.charCodeAt(Be)]=Be;function De(Q){var pe=Q.length;if(pe%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var we=Q.indexOf("=");return-1===we&&(we=pe),[we,we===pe?0:4-we%4]}function $e(Q){return Ue[Q>>18&63]+Ue[Q>>12&63]+Ue[Q>>6&63]+Ue[63&Q]}function pt(Q,pe,we){for(var Je=[],Re=pe;Re{"use strict";var ft=Ue(919),Ye=Ue(601),Be="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Zt.lW=S,Zt.h2=50;var me=2147483647;function je(p){if(p>me)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,S.prototype),d}function S(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return vt(p)}return ht(p,d,f)}function ht(p,d,f){if("string"==typeof p)return function Q(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!S.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|ln(p,d),_=je(f),D=_.write(p,d);return D!==f&&(_=_.slice(0,D)),_}(p,d);if(ArrayBuffer.isView(p))return function we(p){if(cn(p,Uint8Array)){var d=new Uint8Array(p);return Ze(d.buffer,d.byteOffset,d.byteLength)}return pe(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(cn(p,ArrayBuffer)||p&&cn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(cn(p,SharedArrayBuffer)||p&&cn(p.buffer,SharedArrayBuffer)))return Ze(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var _=p.valueOf&&p.valueOf();if(null!=_&&_!==p)return S.from(_,d,f);var D=function Je(p){if(S.isBuffer(p)){var d=0|Re(p.length),f=je(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||E(p.length)?je(0):pe(p):"Buffer"===p.type&&Array.isArray(p.data)?pe(p.data):void 0}(p);if(D)return D;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return S.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function $e(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function vt(p){return $e(p),je(p<0?0:0|Re(p))}function pe(p){for(var d=p.length<0?0:0|Re(p.length),f=je(d),_=0;_=me)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+me.toString(16)+" bytes");return 0|p}function ln(p,d){if(S.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||cn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,_=arguments.length>2&&!0===arguments[2];if(!_&&0===f)return 0;for(var D=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Ut(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ti(p).length;default:if(D)return _?-1:Ut(p).length;d=(""+d).toLowerCase(),D=!0}}function xt(p,d,f){var _=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return ys(this,d,f);case"utf8":case"utf-8":return _s(this,d,f);case"ascii":return lo(this,d,f);case"latin1":case"binary":return co(this,d,f);case"base64":return Si(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uo(this,d,f);default:if(_)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),_=!0}}function bt(p,d,f){var _=p[d];p[d]=p[f],p[f]=_}function Dr(p,d,f,_,D){if(0===p.length)return-1;if("string"==typeof f?(_=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),E(f=+f)&&(f=D?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(D)return-1;f=p.length-1}else if(f<0){if(!D)return-1;f=0}if("string"==typeof d&&(d=S.from(d,_)),S.isBuffer(d))return 0===d.length?-1:Ni(p,d,f,_,D);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?D?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):Ni(p,[d],f,_,D);throw new TypeError("val must be string, number or Buffer")}function Ni(p,d,f,_,D){var Ce,M=1,I=p.length,K=d.length;if(void 0!==_&&("ucs2"===(_=String(_).toLowerCase())||"ucs-2"===_||"utf16le"===_||"utf-16le"===_)){if(p.length<2||d.length<2)return-1;M=2,I/=2,K/=2,f/=2}function _e(Jt,tt){return 1===M?Jt[tt]:Jt.readUInt16BE(tt*M)}if(D){var at=-1;for(Ce=f;CeI&&(f=I-K),Ce=f;Ce>=0;Ce--){for(var Ve=!0,jt=0;jtD&&(_=D):_=D;var M=d.length;_>M/2&&(_=M/2);for(var I=0;I<_;++I){var K=parseInt(d.substr(2*I,2),16);if(E(K))return I;p[f+I]=K}return I}function ms(p,d,f,_){return rr(Ut(d,p.length-f),p,f,_)}function wr(p,d,f,_){return rr(function go(p){for(var d=[],f=0;f>8,M.push(f%256),M.push(_);return M}(d,p.length-f),p,f,_)}function Si(p,d,f){return ft.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function _s(p,d,f){f=Math.min(p.length,f);for(var _=[],D=d;D239?4:M>223?3:M>191?2:1;if(D+K<=f)switch(K){case 1:M<128&&(I=M);break;case 2:128==(192&(_e=p[D+1]))&&(Ve=(31&M)<<6|63&_e)>127&&(I=Ve);break;case 3:Ce=p[D+2],128==(192&(_e=p[D+1]))&&128==(192&Ce)&&(Ve=(15&M)<<12|(63&_e)<<6|63&Ce)>2047&&(Ve<55296||Ve>57343)&&(I=Ve);break;case 4:Ce=p[D+2],at=p[D+3],128==(192&(_e=p[D+1]))&&128==(192&Ce)&&128==(192&at)&&(Ve=(15&M)<<18|(63&_e)<<12|(63&Ce)<<6|63&at)>65535&&Ve<1114112&&(I=Ve)}null===I?(I=65533,K=1):I>65535&&(_.push((I-=65536)>>>10&1023|55296),I=56320|1023&I),_.push(I),D+=K}return function qe(p){var d=p.length;if(d<=Nr)return String.fromCharCode.apply(String,p);for(var f="",_=0;_D.length?S.from(I).copy(D,M):Uint8Array.prototype.set.call(D,I,M);else{if(!S.isBuffer(I))throw new TypeError('"list" argument must be an Array of Buffers');I.copy(D,M)}M+=I.length}return D},S.byteLength=ln,S.prototype._isBuffer=!0,S.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},Be&&(S.prototype[Be]=S.prototype.inspect),S.prototype.compare=function(d,f,_,D,M){if(cn(d,Uint8Array)&&(d=S.from(d,d.offset,d.byteLength)),!S.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===_&&(_=d?d.length:0),void 0===D&&(D=0),void 0===M&&(M=this.length),f<0||_>d.length||D<0||M>this.length)throw new RangeError("out of range index");if(D>=M&&f>=_)return 0;if(D>=M)return-1;if(f>=_)return 1;if(this===d)return 0;for(var I=(M>>>=0)-(D>>>=0),K=(_>>>=0)-(f>>>=0),_e=Math.min(I,K),Ce=this.slice(D,M),at=d.slice(f,_),Ve=0;Ve<_e;++Ve)if(Ce[Ve]!==at[Ve]){I=Ce[Ve],K=at[Ve];break}return I>>=0,isFinite(_)?(_>>>=0,void 0===D&&(D="utf8")):(D=_,_=void 0)}var M=this.length-f;if((void 0===_||_>M)&&(_=M),d.length>0&&(_<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");D||(D="utf8");for(var I=!1;;)switch(D){case"hex":return Ei(this,d,f,_);case"utf8":case"utf-8":return ms(this,d,f,_);case"ascii":case"latin1":case"binary":return wr(this,d,f,_);case"base64":return ao(this,d,f,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Cr(this,d,f,_);default:if(I)throw new TypeError("Unknown encoding: "+D);D=(""+D).toLowerCase(),I=!0}},S.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Nr=4096;function lo(p,d,f){var _="";f=Math.min(p.length,f);for(var D=d;D_)&&(f=_);for(var D="",M=d;Mf)throw new RangeError("Trying to access beyond buffer length")}function Ht(p,d,f,_,D,M){if(!S.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>D||dp.length)throw new RangeError("Index out of range")}function fo(p,d,f,_,D,M){if(f+_>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function ho(p,d,f,_,D){return d=+d,f>>>=0,D||fo(p,0,f,4),Ye.write(p,d,f,_,23,4),f+4}function Dt(p,d,f,_,D){return d=+d,f>>>=0,D||fo(p,0,f,8),Ye.write(p,d,f,_,52,8),f+8}S.prototype.slice=function(d,f){var _=this.length;(d=~~d)<0?(d+=_)<0&&(d=0):d>_&&(d=_),(f=void 0===f?_:~~f)<0?(f+=_)<0&&(f=0):f>_&&(f=_),f>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d],M=1,I=0;++I>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d+--f],M=1;f>0&&(M*=256);)D+=this[d+--f]*M;return D},S.prototype.readUint8=S.prototype.readUInt8=function(d,f){return d>>>=0,f||re(d,1,this.length),this[d]},S.prototype.readUint16LE=S.prototype.readUInt16LE=function(d,f){return d>>>=0,f||re(d,2,this.length),this[d]|this[d+1]<<8},S.prototype.readUint16BE=S.prototype.readUInt16BE=function(d,f){return d>>>=0,f||re(d,2,this.length),this[d]<<8|this[d+1]},S.prototype.readUint32LE=S.prototype.readUInt32LE=function(d,f){return d>>>=0,f||re(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},S.prototype.readUint32BE=S.prototype.readUInt32BE=function(d,f){return d>>>=0,f||re(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},S.prototype.readIntLE=function(d,f,_){d>>>=0,f>>>=0,_||re(d,f,this.length);for(var D=this[d],M=1,I=0;++I=(M*=128)&&(D-=Math.pow(2,8*f)),D},S.prototype.readIntBE=function(d,f,_){d>>>=0,f>>>=0,_||re(d,f,this.length);for(var D=f,M=1,I=this[d+--D];D>0&&(M*=256);)I+=this[d+--D]*M;return I>=(M*=128)&&(I-=Math.pow(2,8*f)),I},S.prototype.readInt8=function(d,f){return d>>>=0,f||re(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},S.prototype.readInt16LE=function(d,f){d>>>=0,f||re(d,2,this.length);var _=this[d]|this[d+1]<<8;return 32768&_?4294901760|_:_},S.prototype.readInt16BE=function(d,f){d>>>=0,f||re(d,2,this.length);var _=this[d+1]|this[d]<<8;return 32768&_?4294901760|_:_},S.prototype.readInt32LE=function(d,f){return d>>>=0,f||re(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},S.prototype.readInt32BE=function(d,f){return d>>>=0,f||re(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},S.prototype.readFloatLE=function(d,f){return d>>>=0,f||re(d,4,this.length),Ye.read(this,d,!0,23,4)},S.prototype.readFloatBE=function(d,f){return d>>>=0,f||re(d,4,this.length),Ye.read(this,d,!1,23,4)},S.prototype.readDoubleLE=function(d,f){return d>>>=0,f||re(d,8,this.length),Ye.read(this,d,!0,52,8)},S.prototype.readDoubleBE=function(d,f){return d>>>=0,f||re(d,8,this.length),Ye.read(this,d,!1,52,8)},S.prototype.writeUintLE=S.prototype.writeUIntLE=function(d,f,_,D){d=+d,f>>>=0,_>>>=0,D||Ht(this,d,f,_,Math.pow(2,8*_)-1,0);var I=1,K=0;for(this[f]=255&d;++K<_&&(I*=256);)this[f+K]=d/I&255;return f+_},S.prototype.writeUintBE=S.prototype.writeUIntBE=function(d,f,_,D){d=+d,f>>>=0,_>>>=0,D||Ht(this,d,f,_,Math.pow(2,8*_)-1,0);var I=_-1,K=1;for(this[f+I]=255&d;--I>=0&&(K*=256);)this[f+I]=d/K&255;return f+_},S.prototype.writeUint8=S.prototype.writeUInt8=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,1,255,0),this[f]=255&d,f+1},S.prototype.writeUint16LE=S.prototype.writeUInt16LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},S.prototype.writeUint16BE=S.prototype.writeUInt16BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},S.prototype.writeUint32LE=S.prototype.writeUInt32LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},S.prototype.writeUint32BE=S.prototype.writeUInt32BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},S.prototype.writeIntLE=function(d,f,_,D){if(d=+d,f>>>=0,!D){var M=Math.pow(2,8*_-1);Ht(this,d,f,_,M-1,-M)}var I=0,K=1,_e=0;for(this[f]=255&d;++I<_&&(K*=256);)d<0&&0===_e&&0!==this[f+I-1]&&(_e=1),this[f+I]=(d/K>>0)-_e&255;return f+_},S.prototype.writeIntBE=function(d,f,_,D){if(d=+d,f>>>=0,!D){var M=Math.pow(2,8*_-1);Ht(this,d,f,_,M-1,-M)}var I=_-1,K=1,_e=0;for(this[f+I]=255&d;--I>=0&&(K*=256);)d<0&&0===_e&&0!==this[f+I+1]&&(_e=1),this[f+I]=(d/K>>0)-_e&255;return f+_},S.prototype.writeInt8=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},S.prototype.writeInt16LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},S.prototype.writeInt16BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},S.prototype.writeInt32LE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},S.prototype.writeInt32BE=function(d,f,_){return d=+d,f>>>=0,_||Ht(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},S.prototype.writeFloatLE=function(d,f,_){return ho(this,d,f,!0,_)},S.prototype.writeFloatBE=function(d,f,_){return ho(this,d,f,!1,_)},S.prototype.writeDoubleLE=function(d,f,_){return Dt(this,d,f,!0,_)},S.prototype.writeDoubleBE=function(d,f,_){return Dt(this,d,f,!1,_)},S.prototype.copy=function(d,f,_,D){if(!S.isBuffer(d))throw new TypeError("argument should be a Buffer");if(_||(_=0),!D&&0!==D&&(D=this.length),f>=d.length&&(f=d.length),f||(f=0),D>0&&D<_&&(D=_),D===_||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(_<0||_>=this.length)throw new RangeError("Index out of range");if(D<0)throw new RangeError("sourceEnd out of bounds");D>this.length&&(D=this.length),d.length-f>>=0,_=void 0===_?this.length:_>>>0,d||(d=0),"number"==typeof d)for(I=f;I<_;++I)this[I]=d;else{var K=S.isBuffer(d)?d:S.from(d,D),_e=K.length;if(0===_e)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(I=0;I<_-f;++I)this[I+f]=K[I%_e]}return this};var st=/[^+/0-9A-Za-z-_]/g;function Ut(p,d){d=d||1/0;for(var f,_=p.length,D=null,M=[],I=0;I<_;++I){if((f=p.charCodeAt(I))>55295&&f<57344){if(!D){if(f>56319){(d-=3)>-1&&M.push(239,191,189);continue}if(I+1===_){(d-=3)>-1&&M.push(239,191,189);continue}D=f;continue}if(f<56320){(d-=3)>-1&&M.push(239,191,189),D=f;continue}f=65536+(D-55296<<10|f-56320)}else D&&(d-=3)>-1&&M.push(239,191,189);if(D=null,f<128){if((d-=1)<0)break;M.push(f)}else if(f<2048){if((d-=2)<0)break;M.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;M.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;M.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return M}function Ti(p){return ft.toByteArray(function po(p){if((p=(p=p.split("=")[0]).trim().replace(st,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function rr(p,d,f,_){for(var D=0;D<_&&!(D+f>=d.length||D>=p.length);++D)d[D+f]=p[D];return D}function cn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function E(p){return p!=p}var C=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var _=16*f,D=0;D<16;++D)d[_+D]=p[f]+p[D];return d}()},601:(Ci,Zt)=>{Zt.read=function(Ue,$,ft,Ye,Be){var me,De,je=8*Be-Ye-1,S=(1<>1,$e=-7,pt=ft?Be-1:0,vt=ft?-1:1,Q=Ue[$+pt];for(pt+=vt,me=Q&(1<<-$e)-1,Q>>=-$e,$e+=je;$e>0;me=256*me+Ue[$+pt],pt+=vt,$e-=8);for(De=me&(1<<-$e)-1,me>>=-$e,$e+=Ye;$e>0;De=256*De+Ue[$+pt],pt+=vt,$e-=8);if(0===me)me=1-ht;else{if(me===S)return De?NaN:1/0*(Q?-1:1);De+=Math.pow(2,Ye),me-=ht}return(Q?-1:1)*De*Math.pow(2,me-Ye)},Zt.write=function(Ue,$,ft,Ye,Be,me){var De,je,S,ht=8*me-Be-1,$e=(1<>1,vt=23===Be?Math.pow(2,-24)-Math.pow(2,-77):0,Q=Ye?0:me-1,pe=Ye?1:-1,we=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(je=isNaN($)?1:0,De=$e):(De=Math.floor(Math.log($)/Math.LN2),$*(S=Math.pow(2,-De))<1&&(De--,S*=2),($+=De+pt>=1?vt/S:vt*Math.pow(2,1-pt))*S>=2&&(De++,S/=2),De+pt>=$e?(je=0,De=$e):De+pt>=1?(je=($*S-1)*Math.pow(2,Be),De+=pt):(je=$*Math.pow(2,pt-1)*Math.pow(2,Be),De=0));Be>=8;Ue[ft+Q]=255&je,Q+=pe,je/=256,Be-=8);for(De=De<0;Ue[ft+Q]=255&De,Q+=pe,De/=256,ht-=8);Ue[ft+Q-pe]|=128*we}},614:()=>{"use strict";const Ci=":";const Ti=function(E,...C){if(Ti.translate){const d=Ti.translate(E,C);E=d[0],C=d[1]}let p=cn(E[0],E.raw[0]);for(let d=1;d{var Zt=$=>Ci(Ci.s=$);Zt(614),Zt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js deleted file mode 100644 index fd712899..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.2a8fc149ba9ba363.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,T){n&&n.measure&&n.measure(M,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class M{static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=M.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CM.hasTask(t,r),onScheduleTask:(M,T,t,r)=>M.scheduleTask(t,r),onInvokeTask:(M,T,t,r,k,C)=>M.invokeTask(t,r,k,C),onCancelTask:(M,T,t,r)=>M.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const L=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(M){if(K||e[O]&&(K=e[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,M)}else e[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,Y=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||Y.event))return;let n=we[e.type];n||(n=we[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let o=ue(e,n);if(!o&&i&&ue(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=we[d];b||(b=we[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,Ue),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,Ue,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v[ct]&&v.removeAttribute(n),L}return null},pe(e,n,o),e[c]=!0}function qe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function le(e,n){e[j("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),L="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const O=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[O];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function K(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[J]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[L];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=l[R],Z=!!s&&_===s[_];Z&&(s[J]=S,s[x]=w);const D=u.run(m,void 0,Z&&m!==K&&m!==H?[]:[S]);z(s,!0,D)}catch(S){z(s,!1,S)}},s)}const M=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,S)=>{for(let Z=0;Z{g||(g=!0,m(D))},D=>{w.push(D),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((S,Z)=>{s=S,f=Z});function w(S){s(S)}function m(S){f(S)}for(let S of u)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((D,V)=>{f=D,g=V}),m=2,S=0;const Z=[];for(let D of u){B(D)||(D=this.resolve(D));const V=S;try{D.then(F=>{Z[V]=s?s.thenCallback(F):F,m--,0===m&&f(Z)},F=>{s?(Z[V]=s.errorCallback(F),m--,0===m&&f(Z)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(Z),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(M),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(M);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((S,Z)=>{f.call(this,S,Z)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),ae(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ce,o=(n?n(e):e)+ie,c=me+i,a=me+o;te[e]={},te[e][ce]=c,te[e][ie]=a}function dt(e,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||De,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",L="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,J){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][J?ie:ce]];if(X){const A=[];if(1===X.length){const E=O(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=ve(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ie:ce]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[$e]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const L=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,L),e._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],L))}else O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],L))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function Qe(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function et(e,n,i,o){e&&qe(e,Qe(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=qe,i.patchMethod=ae,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Se,i.ArraySlice=it,i.patchClass=ge,i.wrapWithCurrentZone=Ie,i.filterProperties=Qe,i.attachOriginToPatched=le,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=j("zoneTask");function Te(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=ae(e,n+=o,v=>function(p,L){if("function"==typeof L[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const B=Me(n,L[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Re]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,L)}),a=ae(e,i,v=>function(p,L){const O=L[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,L)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Te(e,n,i,"Timeout"),Te(e,n,i,"Interval"),Te(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];et(c,He(c),i&&i.concat(a),ve(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const L=p.prototype;let N=L[Oe],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Oe],B=I[Ne]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Oe],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=ae(L,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=ae(L,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return le(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Ke(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ue=>{ue(ue.s=332)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js new file mode 100644 index 00000000..22c6581f --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/polyfills.c3c1ec5412338255.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[429],{332:()=>{!function(e){const n=e.performance;function s(j){n&&n.mark&&n.mark(j)}function r(j,h){n&&n.measure&&n.measure(j,h)}s("Zone");const i=e.__Zone_symbol_prefix||"__zone_symbol__";function l(j){return i+j}const p=!0===e[l("forceDuplicateZoneCheck")];if(e.Zone){if(p||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let E=(()=>{class h{static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=h.current;for(;t.parent;)t=t.parent;return t}static get current(){return W.zone}static get currentTask(){return re}static __load_patch(t,_,w=!1){if(oe.hasOwnProperty(t)){if(!w&&p)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const L="Zone:"+t;s(L),oe[t]=_(e,h,Y),r(L,L)}}get parent(){return this._parent}get name(){return this._name}constructor(t,_){this._parent=t,this._name=_?_.name||"unnamed":"",this._properties=_&&_.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,_)}get(t){const _=this.getZoneWith(t);if(_)return _._properties[t]}getZoneWith(t){let _=this;for(;_;){if(_._properties.hasOwnProperty(t))return _;_=_._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,_){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const w=this._zoneDelegate.intercept(this,t,_),L=this;return function(){return L.runGuarded(w,this,arguments,_)}}run(t,_,w,L){W={parent:W,zone:this};try{return this._zoneDelegate.invoke(this,t,_,w,L)}finally{W=W.parent}}runGuarded(t,_=null,w,L){W={parent:W,zone:this};try{try{return this._zoneDelegate.invoke(this,t,_,w,L)}catch(a){if(this._zoneDelegate.handleError(this,a))throw a}}finally{W=W.parent}}runTask(t,_,w){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===G&&(t.type===Q||t.type===P))return;const L=t.state!=y;L&&t._transitionTo(y,A),t.runCount++;const a=re;re=t,W={parent:W,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,_,w)}catch(u){if(this._zoneDelegate.handleError(this,u))throw u}}finally{t.state!==G&&t.state!==d&&(t.type==Q||t.data&&t.data.isPeriodic?L&&t._transitionTo(A,y):(t.runCount=0,this._updateTaskCount(t,-1),L&&t._transitionTo(G,y,G))),W=W.parent,re=a}}scheduleTask(t){if(t.zone&&t.zone!==this){let w=this;for(;w;){if(w===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);w=w.parent}}t._transitionTo(z,G);const _=[];t._zoneDelegates=_,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(w){throw t._transitionTo(d,z,G),this._zoneDelegate.handleError(this,w),w}return t._zoneDelegates===_&&this._updateTaskCount(t,1),t.state==z&&t._transitionTo(A,z),t}scheduleMicroTask(t,_,w,L){return this.scheduleTask(new m(I,t,_,w,L,void 0))}scheduleMacroTask(t,_,w,L,a){return this.scheduleTask(new m(P,t,_,w,L,a))}scheduleEventTask(t,_,w,L,a){return this.scheduleTask(new m(Q,t,_,w,L,a))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===y){t._transitionTo(V,A,y);try{this._zoneDelegate.cancelTask(this,t)}catch(_){throw t._transitionTo(d,V),this._zoneDelegate.handleError(this,_),_}return this._updateTaskCount(t,-1),t._transitionTo(G,V),t.runCount=0,t}}_updateTaskCount(t,_){const w=t._zoneDelegates;-1==_&&(t._zoneDelegates=null);for(let L=0;Lj.hasTask(c,t),onScheduleTask:(j,h,c,t)=>j.scheduleTask(c,t),onInvokeTask:(j,h,c,t,_,w)=>j.invokeTask(c,t,_,w),onCancelTask:(j,h,c,t)=>j.cancelTask(c,t)};class v{constructor(h,c,t){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=h,this._parentDelegate=c,this._forkZS=t&&(t&&t.onFork?t:c._forkZS),this._forkDlgt=t&&(t.onFork?c:c._forkDlgt),this._forkCurrZone=t&&(t.onFork?this.zone:c._forkCurrZone),this._interceptZS=t&&(t.onIntercept?t:c._interceptZS),this._interceptDlgt=t&&(t.onIntercept?c:c._interceptDlgt),this._interceptCurrZone=t&&(t.onIntercept?this.zone:c._interceptCurrZone),this._invokeZS=t&&(t.onInvoke?t:c._invokeZS),this._invokeDlgt=t&&(t.onInvoke?c:c._invokeDlgt),this._invokeCurrZone=t&&(t.onInvoke?this.zone:c._invokeCurrZone),this._handleErrorZS=t&&(t.onHandleError?t:c._handleErrorZS),this._handleErrorDlgt=t&&(t.onHandleError?c:c._handleErrorDlgt),this._handleErrorCurrZone=t&&(t.onHandleError?this.zone:c._handleErrorCurrZone),this._scheduleTaskZS=t&&(t.onScheduleTask?t:c._scheduleTaskZS),this._scheduleTaskDlgt=t&&(t.onScheduleTask?c:c._scheduleTaskDlgt),this._scheduleTaskCurrZone=t&&(t.onScheduleTask?this.zone:c._scheduleTaskCurrZone),this._invokeTaskZS=t&&(t.onInvokeTask?t:c._invokeTaskZS),this._invokeTaskDlgt=t&&(t.onInvokeTask?c:c._invokeTaskDlgt),this._invokeTaskCurrZone=t&&(t.onInvokeTask?this.zone:c._invokeTaskCurrZone),this._cancelTaskZS=t&&(t.onCancelTask?t:c._cancelTaskZS),this._cancelTaskDlgt=t&&(t.onCancelTask?c:c._cancelTaskDlgt),this._cancelTaskCurrZone=t&&(t.onCancelTask?this.zone:c._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const _=t&&t.onHasTask;(_||c&&c._hasTaskZS)&&(this._hasTaskZS=_?t:b,this._hasTaskDlgt=c,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=h,t.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=c,this._scheduleTaskCurrZone=this.zone),t.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=c,this._invokeTaskCurrZone=this.zone),t.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=c,this._cancelTaskCurrZone=this.zone))}fork(h,c){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,h,c):new E(h,c)}intercept(h,c,t){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,h,c,t):c}invoke(h,c,t,_,w){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,h,c,t,_,w):c.apply(t,_)}handleError(h,c){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,h,c)}scheduleTask(h,c){let t=c;if(this._scheduleTaskZS)this._hasTaskZS&&t._zoneDelegates.push(this._hasTaskDlgtOwner),t=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,h,c),t||(t=c);else if(c.scheduleFn)c.scheduleFn(c);else{if(c.type!=I)throw new Error("Task is missing scheduleFn.");C(c)}return t}invokeTask(h,c,t,_){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,h,c,t,_):c.callback.apply(t,_)}cancelTask(h,c){let t;if(this._cancelTaskZS)t=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,h,c);else{if(!c.cancelFn)throw Error("Task is not cancelable");t=c.cancelFn(c)}return t}hasTask(h,c){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,h,c)}catch(t){this.handleError(h,t)}}_updateTaskCount(h,c){const t=this._taskCounts,_=t[h],w=t[h]=_+c;if(w<0)throw new Error("More tasks executed then were scheduled.");0!=_&&0!=w||this.hasTask(this.zone,{microTask:t.microTask>0,macroTask:t.macroTask>0,eventTask:t.eventTask>0,change:h})}}class m{constructor(h,c,t,_,w,L){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=h,this.source=c,this.data=_,this.scheduleFn=w,this.cancelFn=L,!t)throw new Error("callback is not defined");this.callback=t;const a=this;this.invoke=h===Q&&_&&_.useG?m.invokeTask:function(){return m.invokeTask.call(e,a,this,arguments)}}static invokeTask(h,c,t){h||(h=this),ee++;try{return h.runCount++,h.zone.runTask(h,c,t)}finally{1==ee&&T(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(G,z)}_transitionTo(h,c,t){if(this._state!==c&&this._state!==t)throw new Error(`${this.type} '${this.source}': can not transition to '${h}', expecting state '${c}'${t?" or '"+t+"'":""}, was '${this._state}'.`);this._state=h,h==G&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=l("setTimeout"),O=l("Promise"),N=l("then");let K,U=[],x=!1;function X(j){if(K||e[O]&&(K=e[O].resolve(0)),K){let h=K[N];h||(h=K.then),h.call(K,j)}else e[M](j,0)}function C(j){0===ee&&0===U.length&&X(T),j&&U.push(j)}function T(){if(!x){for(x=!0;U.length;){const j=U;U=[];for(let h=0;hW,onUnhandledError:q,microtaskDrainDone:q,scheduleMicroTask:C,showUncaughtError:()=>!E[l("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:q,patchMethod:()=>q,bindArguments:()=>[],patchThen:()=>q,patchMacroTask:()=>q,patchEventPrototype:()=>q,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>q,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>q,wrapWithCurrentZone:()=>q,filterProperties:()=>[],attachOriginToPatched:()=>q,_redefineProperty:()=>q,patchCallbacks:()=>q,nativeScheduleMicroTask:X};let W={parent:null,zone:new E(null,null)},re=null,ee=0;function q(){}r("Zone","Zone"),e.Zone=E}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,s,r,i){return Zone.current.scheduleMacroTask(e,n,s,r,i)}const H=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,$=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let s=e.length-1;s>=0;s--)"function"==typeof e[s]&&(e[s]=Ie(e[s],n+"_"+s));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||$.event))return;let n=we[e.type];n||(n=we[e.type]=H("ON_PROPERTY"+e.type));const s=this||e.target||$,r=s[n];let i;return Ae&&s===_e&&"error"===e.type?(i=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===i&&e.preventDefault()):(i=r&&r.apply(this,arguments),null!=i&&!i&&e.preventDefault()),i};function We(e,n,s){let r=ue(e,n);if(!r&&s&&ue(s,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const i=H("on"+n+"patched");if(e.hasOwnProperty(i)&&e[i])return;delete r.writable,delete r.value;const l=r.get,p=r.set,E=n.slice(2);let b=we[E];b||(b=we[E]=H("ON_PROPERTY"+E)),r.set=function(v){let m=this;!m&&e===$&&(m=$),m&&("function"==typeof m[b]&&m.removeEventListener(E,Ue),p&&p.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(E,Ue,!1))},r.get=function(){let v=this;if(!v&&e===$&&(v=$),!v)return null;const m=v[b];if(m)return m;if(l){let M=l.call(this);if(M)return r.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,r),e[i]=!0}function qe(e,n,s){if(n)for(let r=0;rfunction(p,E){const b=s(p,E);return b.cbIdx>=0&&"function"==typeof E[b.cbIdx]?Me(b.name,E[b.cbIdx],b,i):l.apply(p,E)})}function le(e,n){e[H("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,s)=>{const r=Object.getOwnPropertyDescriptor,i=Object.defineProperty,p=s.symbol,E=[],b=!0===e[p("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=p("Promise"),m=p("then"),M="__creationTrace__";s.onUnhandledError=a=>{if(s.showUncaughtError()){const u=a&&a.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",a.zone.name,"; Task:",a.task&&a.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(a)}},s.microtaskDrainDone=()=>{for(;E.length;){const a=E.shift();try{a.zone.runGuarded(()=>{throw a.throwOriginal?a.rejection:a})}catch(u){N(u)}}};const O=p("unhandledPromiseRejectionHandler");function N(a){s.onUnhandledError(a);try{const u=n[O];"function"==typeof u&&u.call(this,a)}catch{}}function U(a){return a&&a.then}function x(a){return a}function K(a){return c.reject(a)}const X=p("state"),C=p("value"),T=p("finally"),J=p("parentPromiseValue"),G=p("parentPromiseState"),z="Promise.then",A=null,y=!0,V=!1,d=0;function I(a,u){return o=>{try{Y(a,u,o)}catch(f){Y(a,!1,f)}}}const P=function(){let a=!1;return function(o){return function(){a||(a=!0,o.apply(null,arguments))}}},Q="Promise resolved with itself",oe=p("currentTaskTrace");function Y(a,u,o){const f=P();if(a===o)throw new TypeError(Q);if(a[X]===A){let k=null;try{("object"==typeof o||"function"==typeof o)&&(k=o&&o.then)}catch(R){return f(()=>{Y(a,!1,R)})(),a}if(u!==V&&o instanceof c&&o.hasOwnProperty(X)&&o.hasOwnProperty(C)&&o[X]!==A)re(o),Y(a,o[X],o[C]);else if(u!==V&&"function"==typeof k)try{k.call(o,f(I(a,u)),f(I(a,!1)))}catch(R){f(()=>{Y(a,!1,R)})()}else{a[X]=u;const R=a[C];if(a[C]=o,a[T]===T&&u===y&&(a[X]=a[G],a[C]=a[J]),u===V&&o instanceof Error){const g=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];g&&i(o,oe,{configurable:!0,enumerable:!1,writable:!0,value:g})}for(let g=0;g{try{const S=a[C],Z=!!o&&T===o[T];Z&&(o[J]=S,o[G]=R);const D=u.run(g,void 0,Z&&g!==K&&g!==x?[]:[S]);Y(o,!0,D)}catch(S){Y(o,!1,S)}},o)}const j=function(){},h=e.AggregateError;class c{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return Y(new this(null),y,u)}static reject(u){return Y(new this(null),V,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new h([],"All promises were rejected"));const o=[];let f=0;try{for(let g of u)f++,o.push(c.resolve(g))}catch{return Promise.reject(new h([],"All promises were rejected"))}if(0===f)return Promise.reject(new h([],"All promises were rejected"));let k=!1;const R=[];return new c((g,S)=>{for(let Z=0;Z{k||(k=!0,g(D))},D=>{R.push(D),f--,0===f&&(k=!0,S(new h(R,"All promises were rejected")))})})}static race(u){let o,f,k=new this((S,Z)=>{o=S,f=Z});function R(S){o(S)}function g(S){f(S)}for(let S of u)U(S)||(S=this.resolve(S)),S.then(R,g);return k}static all(u){return c.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof c?this:c).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,o){let f,k,R=new this((D,F)=>{f=D,k=F}),g=2,S=0;const Z=[];for(let D of u){U(D)||(D=this.resolve(D));const F=S;try{D.then(B=>{Z[F]=o?o.thenCallback(B):B,g--,0===g&&f(Z)},B=>{o?(Z[F]=o.errorCallback(B),g--,0===g&&f(Z)):k(B)})}catch(B){k(B)}g++,S++}return g-=2,0===g&&f(Z),R}constructor(u){const o=this;if(!(o instanceof c))throw new Error("Must be an instanceof Promise.");o[X]=A,o[C]=[];try{const f=P();u&&u(f(I(o,y)),f(I(o,V)))}catch(f){Y(o,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return c}then(u,o){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||c);const k=new f(j),R=n.current;return this[X]==A?this[C].push(R,k,u,o):ee(this,R,k,u,o),k}catch(u){return this.then(null,u)}finally(u){let o=this.constructor?.[Symbol.species];(!o||"function"!=typeof o)&&(o=c);const f=new o(j);f[T]=T;const k=n.current;return this[X]==A?this[C].push(k,f,u,u):ee(this,k,f,u,u),f}}c.resolve=c.resolve,c.reject=c.reject,c.race=c.race,c.all=c.all;const t=e[v]=e.Promise;e.Promise=c;const _=p("thenPatched");function w(a){const u=a.prototype,o=r(u,"then");if(o&&(!1===o.writable||!o.configurable))return;const f=u.then;u[m]=f,a.prototype.then=function(k,R){return new c((S,Z)=>{f.call(this,S,Z)}).then(k,R)},a[_]=!0}return s.patchThen=w,t&&(w(t),ae(e,"fetch",a=>function L(a){return function(u,o){let f=a.apply(u,o);if(f instanceof c)return f;let k=f.constructor;return k[_]||w(k),f}}(a))),Promise[n.__symbol__("uncaughtPromiseErrors")]=E,c}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,s=H("OriginalDelegate"),r=H("Promise"),i=H("Error"),l=function(){if("function"==typeof this){const v=this[s];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[i];if(m)return n.call(m)}}return n.call(this)};l[s]=n,Function.prototype.toString=l;const p=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":p.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=H("propagationStopped");function Je(e,n){const s=(n?n(e):e)+ce,r=(n?n(e):e)+ie,i=me+s,l=me+r;te[e]={},te[e][ce]=i,te[e][ie]=l}function dt(e,n,s,r){const i=r&&r.add||Ze,l=r&&r.rm||De,p=r&&r.listeners||"eventListeners",E=r&&r.rmAll||"removeAllListeners",b=H(i),v="."+i+":",m="prependListener",M="."+m+":",O=function(C,T,J){if(C.isRemoved)return;const G=C.callback;let z;"object"==typeof G&&G.handleEvent&&(C.callback=y=>G.handleEvent(y),C.originalDelegate=G);try{C.invoke(C,T,[J])}catch(y){z=y}const A=C.options;return A&&"object"==typeof A&&A.once&&T[l].call(T,J.type,C.originalDelegate?C.originalDelegate:C.callback,A),z};function N(C,T,J){if(!(T=T||e.event))return;const G=C||T.target||e,z=G[te[T.type][J?ie:ce]];if(z){const A=[];if(1===z.length){const y=O(z[0],G,T);y&&A.push(y)}else{const y=z.slice();for(let V=0;V{throw V})}}}const U=function(C){return N(this,C,!1)},x=function(C){return N(this,C,!0)};function K(C,T){if(!C)return!1;let J=!0;T&&void 0!==T.useG&&(J=T.useG);const G=T&&T.vh;let z=!0;T&&void 0!==T.chkDup&&(z=T.chkDup);let A=!1;T&&void 0!==T.rt&&(A=T.rt);let y=C;for(;y&&!y.hasOwnProperty(i);)y=ve(y);if(!y&&C[i]&&(y=C),!y||y[b])return!1;const V=T&&T.eventNameToString,d={},I=y[b]=y[i],P=y[H(l)]=y[l],Q=y[H(p)]=y[p],oe=y[H(E)]=y[E];let Y;T&&T.prepend&&(Y=y[H(T.prepend)]=y[T.prepend]);const c=J?function(o){if(!d.isExisting)return I.call(d.target,d.eventName,d.capture?x:U,d.options)}:function(o){return I.call(d.target,d.eventName,o.invoke,d.options)},t=J?function(o){if(!o.isRemoved){const f=te[o.eventName];let k;f&&(k=f[o.capture?ie:ce]);const R=k&&o.target[k];if(R)for(let g=0;gfunction(i,l){i[$e]=!0,r&&r.apply(i,l)})}function Et(e,n,s,r,i){const l=Zone.__symbol__(r);if(n[l])return;const p=n[l]=n[r];n[r]=function(E,b,v){return b&&b.prototype&&i.forEach(function(m){const M=`${s}.${r}::`+m,O=b.prototype;try{if(O.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(O,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,m,N)):O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}else O[m]&&(O[m]=e.wrapWithCurrentZone(O[m],M))}catch{}}),p.call(n,E,b,v)},e.attachOriginToPatched(n[r],p)}function Qe(e,n,s){if(!s||0===s.length)return n;const r=s.filter(l=>l.target===e);if(!r||0===r.length)return n;const i=r[0].ignoreProperties;return n.filter(l=>-1===i.indexOf(l))}function et(e,n,s,r){e&&qe(e,Qe(e,n,s),r)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,s)=>{const r=He(e);s.patchOnProperties=qe,s.patchMethod=ae,s.bindArguments=Le,s.patchMacroTask=lt;const i=n.__symbol__("BLACK_LISTED_EVENTS"),l=n.__symbol__("UNPATCHED_EVENTS");e[l]&&(e[i]=e[l]),e[i]&&(n[i]=n[l]=e[i]),s.patchEventPrototype=_t,s.patchEventTarget=dt,s.isIEOrEdge=ft,s.ObjectDefineProperty=pe,s.ObjectGetOwnPropertyDescriptor=ue,s.ObjectCreate=Se,s.ArraySlice=it,s.patchClass=ge,s.wrapWithCurrentZone=Ie,s.filterProperties=Qe,s.attachOriginToPatched=le,s._redefineProperty=Object.defineProperty,s.patchCallbacks=Et,s.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:r,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=H("zoneTask");function Te(e,n,s,r){let i=null,l=null;s+=r;const p={};function E(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=i.apply(e,m.args),v}function b(v){return l.call(e,v.data.handleId)}i=ae(e,n+=r,v=>function(m,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete p[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const U=Me(n,M[0],O,E,b);if(!U)return U;const x=U.data.handleId;return"number"==typeof x?p[x]=U:x&&(x[Re]=U),x&&x.ref&&x.unref&&"function"==typeof x.ref&&"function"==typeof x.unref&&(U.ref=x.ref.bind(x),U.unref=x.unref.bind(x)),"number"==typeof x||x?x:U}return v.apply(e,M)}),l=ae(e,s,v=>function(m,M){const O=M[0];let N;"number"==typeof O?N=p[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete p[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",s="clear";Te(e,n,s,"Timeout"),Te(e,n,s,"Interval"),Te(e,n,s,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const s=["alert","prompt","confirm"];for(let r=0;rfunction(b,v){return n.current.run(l,e,v,E)})}),Zone.__load_patch("EventTarget",(e,n,s)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,s),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:s,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:l,ZONE_SYMBOL_PREFIX:p}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,s)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,s)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,s)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const s=n.__Zone_ignore_on_properties;let r=[];if(Ae){const i=window;r=r.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const l=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:i,ignoreProperties:["error"]}]:[];et(i,He(i),s&&s.concat(l),ve(i))}r=r.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let i=0;i{!function pt(e,n){const{isBrowser:s,isMix:r}=n.getGlobalObjects();(s||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,s)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const M=m.prototype;let N=M[Oe],U=M[Ne];if(!N){const d=v.XMLHttpRequestEventTarget;if(d){const I=d.prototype;N=I[Oe],U=I[Ne]}}const x="readystatechange",K="scheduled";function X(d){const I=d.data,P=I.target;P[l]=!1,P[E]=!1;const Q=P[i];N||(N=P[Oe],U=P[Ne]),Q&&U.call(P,x,Q);const oe=P[i]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[l]&&d.state===K){const W=P[n.__symbol__("loadfalse")];if(0!==P.status&&W&&W.length>0){const re=d.invoke;d.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let q=0;qfunction(d,I){return d[r]=0==I[2],d[p]=I[1],J.apply(d,I)}),z=H("fetchTaskAborting"),A=H("fetchTaskScheduling"),y=ae(M,"send",()=>function(d,I){if(!0===n.current[A]||d[r])return y.apply(d,I);{const P={target:d,url:d[p],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",C,P,X,T);d&&!0===d[E]&&!P.aborted&&Q.state===K&&Q.invoke()}}),V=ae(M,"abort",()=>function(d,I){const P=function O(d){return d[s]}(d);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[z])return V.apply(d,I)})}(e);const s=H("xhrTask"),r=H("xhrSync"),i=H("xhrListener"),l=H("xhrScheduled"),p=H("xhrURL"),E=H("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const s=e.constructor.name;for(let r=0;r{const b=function(){return E.apply(this,Le(arguments,s+"."+i))};return le(b,E),b})(l)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function s(r){return function(i){Ke(e,r).forEach(p=>{const E=e.PromiseRejectionEvent;if(E){const b=new E(r,{promise:i.promise,reason:i.rejection});p.invoke(b)}})}}e.PromiseRejectionEvent&&(n[H("unhandledPromiseRejectionHandler")]=s("unhandledrejection"),n[H("rejectionHandledHandler")]=s("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,s)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",s=>function(r,i){Zone.current.scheduleMicroTask("queueMicrotask",i[0])})}(e,s)})}},ue=>{ue(ue.s=332)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css new file mode 100644 index 00000000..37ec3a42 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css @@ -0,0 +1,5 @@ +@charset "UTF-8";h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css deleted file mode 100644 index 4fce2ebe..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.f277f9f97c8ac5df.css +++ /dev/null @@ -1,5 +0,0 @@ -@charset "UTF-8";h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}/*! - * Bootstrap v5.3.1 (https://getbootstrap.com/) - * Copyright 2011-2023 The Bootstrap Authors - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} diff --git a/clinguin/parse_input.py b/clinguin/parse_input.py index d6acc307..aa9b0d1c 100644 --- a/clinguin/parse_input.py +++ b/clinguin/parse_input.py @@ -436,4 +436,8 @@ def _select_subclass_and_add_custom_arguments( sys.exit() selected_class = sub_class + + if not selected_class: + raise RuntimeError(f"Invalid class name provided: {class_name}") + return selected_class diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index b9fcf864..a5fd820d 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -39,6 +39,8 @@ def __init__(self, args): self.args = args self._domain_files = [] if args.domain_files is None else args.domain_files + if not args.ui_files: + raise RuntimeError("UI files need to be provided under --ui-files") self._ui_files = args.ui_files self._constants = [f"-c {v}" for v in args.const] if args.const else [] @@ -221,6 +223,7 @@ def _update_ui_state(self): and creating a new control object (ui_control) using the ui_files provided """ domain_state = self._domain_state + print(self._ui_files) self._ui_state = UIState(self._ui_files, domain_state, self._constants) self._ui_state.update_ui_state() self._ui_state.replace_images_with_b64() @@ -430,7 +433,6 @@ def get(self): Thus, it needs to be implemented by all backends. """ self._update_ui_state() - self._logger.debug(self._ui_state) json_structure = StandardJsonEncoder.encode(self._ui_state) return json_structure diff --git a/clinguin/server/presentation/endpoints_helper.py b/clinguin/server/presentation/endpoints_helper.py index 7c7e9066..54c0cba4 100644 --- a/clinguin/server/presentation/endpoints_helper.py +++ b/clinguin/server/presentation/endpoints_helper.py @@ -1,6 +1,7 @@ """ Module that contains the EndpointsHelper class. """ + import logging from ...utils import CaseConverter, Logger @@ -37,6 +38,6 @@ def call_function(cls, backend, name, args, kwargs): if found: result = function(*args, **kwargs) return result - error_string = "Could not find function " + name + " in backend." + error_string = "Could not find function '" + name + "' in backend." logger.error(error_string) raise Exception(error_string) From 8908d5adc648d257e491d616a94b9f7bfc6a746e Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 28 Mar 2024 19:37:03 -0600 Subject: [PATCH 09/61] better context --- .../src/app/callback-helper.service.ts | 62 ++++++++----- .../src/app/canvas/canvas.component.ts | 81 ++++++++-------- .../main-page/main-page.component.ts | 92 ++++++++++--------- .../src/app/draw-frontend.service.ts | 57 ++++++------ angular_frontend/src/app/http.service.ts | 61 ++++++------ .../application/backends/clingo_backend.py | 8 +- clinguin/server/presentation/endpoints.py | 3 +- clinguin_download.lp | 0 docs/clinguin/reference/communication.rst | 21 ++++- examples/angular/graph_coloring/ui.lp | 2 +- 10 files changed, 214 insertions(+), 173 deletions(-) create mode 100644 clinguin_download.lp diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index 5db4ea3d..6877a947 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -177,32 +177,51 @@ function handleUpdate(when: WhenDto, event: Event | null) { } -function replaceContext(policy_string: string, optional: boolean) { +function replaceContext(policy_string: string) { let contextService = LocatorService.injector.get(ContextService) - let regex = /_context_value\(([^)]*)\)/ - if (optional) { - regex = /_context_value_optional\(([^)]*)\)/ - } - + let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g + // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\)) + let regex_const = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/ let match = regex.exec(policy_string) while (match != null) { - let match_group = match[1] + + let match_instance = match[0] + let match_group = match[1] || match[2] || match[3] + let match_type = match[4] || match[5] || match[6] + let match_default = match[7] || match[8] || match[9] let new_value = contextService.retrieveContextValue(match_group) - if (new_value.length == 0 && !optional) { - throw new Error("Missing required value for " + match_group); - } - function isNumber(s: string) { - return /^[0-9]*$/.test(s); + if (new_value == null) { + if (!match_default == null) { + throw new Error("Missing required value for " + match_group); + } + new_value = match_default } - if (!isNumber(new_value) && new_value.length > 0) { - if (new_value[0] === new_value[0].toUpperCase() && new_value[0] != '"') { + let isNumber = /^[0-9]*$/.test(new_value); + + let isConst = regex_const.test(new_value); + + let mustBeQuoted = !isNumber && !isConst + + if (match_type != null) { + if (match_type != "str" && match_type != "int" && match_type != "const") { + throw new Error("Not a valid type " + match_type + ". Should be str, int or const."); + } + if (match_type == "str") { new_value = '"' + new_value + '"' } + else if (match_type == "int" && !isNumber) { + throw new Error("Expected a number but got " + new_value); + } + if (match_type == "const" && !isConst) { + throw new Error("Expected a constant that can be parsed to an atom, but got: " + new_value); + } } - policy_string = policy_string.replace(regex, new_value) - + if (match_type == null && mustBeQuoted) { + new_value = '"' + new_value + '"' + } + policy_string = policy_string.replace(match_instance, new_value) match = regex.exec(policy_string) } return policy_string @@ -213,8 +232,8 @@ function handleCallback(when: WhenDto, event: Event | null) { let policy_string = when.policy - policy_string = replaceContext(policy_string, true) - policy_string = replaceContext(policy_string, false) + + policy_string = replaceContext(policy_string) when.policy = policy_string @@ -224,10 +243,7 @@ function handleCallback(when: WhenDto, event: Event | null) { function handleContext(when: WhenDto, event: Event | null) { let contextService = LocatorService.injector.get(ContextService) let policy = when.policy - - policy = replaceContext(policy, true) - policy = replaceContext(policy, false) - + policy = replaceContext(policy) if (policy[0] == '(') { policy = policy.substring(1) policy = policy.slice(0, -1) @@ -309,10 +325,8 @@ export class CallBackHelperService { allEvents.push(when) } }) - console.log("Handle event") if (allEvents.length > 0 && htmlEventName != "") { if (supportedAttributeName == "load") { - console.log("Load") allEvents.forEach((when: WhenDto) => { if (when.interactionType == "context") { diff --git a/angular_frontend/src/app/canvas/canvas.component.ts b/angular_frontend/src/app/canvas/canvas.component.ts index 439efe84..edbd9a24 100644 --- a/angular_frontend/src/app/canvas/canvas.component.ts +++ b/angular_frontend/src/app/canvas/canvas.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@ang import { AttributeDto, WhenDto, ElementDto } from '../types/json-response.dto'; import { CallBackHelperService } from '../callback-helper.service'; import { AttributeHelperService } from '../attribute-helper.service'; -import { Buffer } from "buffer";import { DATE_PIPE_DEFAULT_OPTIONS } from '@angular/common'; +import { Buffer } from "buffer"; import { DATE_PIPE_DEFAULT_OPTIONS } from '@angular/common'; import { ElementLookupService } from '../element-lookup.service'; ; @@ -12,8 +12,8 @@ import { ElementLookupService } from '../element-lookup.service'; styleUrls: ['./canvas.component.scss'] }) export class CanvasComponent { - @ViewChild("theImage",{static:false}) theImage! : ElementRef - @ViewChild("svgContainer",{static:false}) svgContainer!:ElementRef; + @ViewChild("theImage", { static: false }) theImage!: ElementRef + @ViewChild("svgContainer", { static: false }) svgContainer!: ElementRef; @Input() element: ElementDto | null = null @Input() parentLayout: string = "" @@ -24,18 +24,18 @@ export class CanvasComponent { imageType: string = "" - constructor (private cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) {} + constructor(private cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) { } ngAfterViewInit(): void { if (this.element != null) { this.elementLookupService.addElementObject(this.element.id, this, this.element) - + let image = this.attributeService.findAttribute("image", this.element.attributes) let image_type = this.attributeService.findAttribute("image_type", this.element.attributes) if (image != null && image_type != null && image_type.value.startsWith("clingraph")) { - this.svgImageHandler(this.element, image, image_type) + this.svgImageHandler(this.element, image, image_type) } else { this.defaultImageHandler(this.element, image) } @@ -48,18 +48,18 @@ export class CanvasComponent { console.log("TODO?") } - svgImageHandler(element: ElementDto, image: AttributeDto, imageType : AttributeDto) { - - const decodeBase64 = (str: string):string => Buffer.from(str, 'base64').toString('binary'); + svgImageHandler(element: ElementDto, image: AttributeDto, imageType: AttributeDto) { + + const decodeBase64 = (str: string): string => Buffer.from(str, 'base64').toString('binary'); const regexPattern: RegExp = /\(([^,]+),\s*([^)]+)\)/; this.imageType = "svg" this.cd.detectChanges() - + // Add the SVG let svgString = decodeBase64(image.value) - this.svgContainer.nativeElement.innerHTML = svgString + this.svgContainer.nativeElement.innerHTML = svgString this.cd.detectChanges() @@ -68,24 +68,24 @@ export class CanvasComponent { // let svgEdgeElements = this.svgContainer.nativeElement.querySelectorAll(".edge") // console.log(svgNodeElements) - let nodeIdNodeElementLookup : {"key":string, "value":ElementDto}[] = [] + let nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[] = [] element.children.forEach(child => { // console.log(child) let id_attr = this.attributeService.findAttribute("clingraph_id", child.attributes) if (id_attr != null) { let key = id_attr.value - if (child.type=="svg_edge"){ - const match = key.match(regexPattern); - if (!match){ - console.error("Invalid edge format expected a tuple (X,Y) but got ", key) - }else{ - key = match[1].replaceAll('"','')+"--"+ match[2].replaceAll('"','') - let key2 = match[1].replaceAll('"','')+"->"+ match[2].replaceAll('"','') - nodeIdNodeElementLookup.push({"key":key2,"value":child}) - } + if (child.type == "svg_edge") { + const match = key.match(regexPattern); + if (!match) { + console.error("Invalid edge format expected a tuple (X,Y) but got ", key) + } else { + key = match[1].replaceAll('"', '') + "--" + match[2].replaceAll('"', '') + let key2 = match[1].replaceAll('"', '') + "->" + match[2].replaceAll('"', '') + nodeIdNodeElementLookup.push({ "key": key2, "value": child }) + } } - nodeIdNodeElementLookup.push({"key":key,"value":child}) + nodeIdNodeElementLookup.push({ "key": key, "value": child }) } }) @@ -93,27 +93,27 @@ export class CanvasComponent { this.addEventListeners(svgNodeUiNodeAssociationList) - + this.cd.detectChanges() } - generateSvgNodeUiNodeAssociationList(svgNodeElements : any, nodeIdNodeElementLookup : {"key":string, "value":ElementDto}[]) { - + generateSvgNodeUiNodeAssociationList(svgNodeElements: any, nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[]) { + // console.log(nodeIdNodeElementLookup) - let svgNodeUiNodeAssociationList : {"svg":HTMLElement, "ui":ElementDto}[] = [] + let svgNodeUiNodeAssociationList: { "svg": HTMLElement, "ui": ElementDto }[] = [] - svgNodeElements.forEach((svgNodeElement : HTMLElement) => { + svgNodeElements.forEach((svgNodeElement: HTMLElement) => { // svgNodeElement.tooltip('hide') - let correspondingElementDtoNode : null | ElementDto = null + let correspondingElementDtoNode: null | ElementDto = null // console.error("----") // console.error(svgNodeElement.id) - nodeIdNodeElementLookup.forEach((item:{"key":string,"value":ElementDto}) => { + nodeIdNodeElementLookup.forEach((item: { "key": string, "value": ElementDto }) => { if (svgNodeElement.id == item.key) { correspondingElementDtoNode = item.value } else { // if (svgNodeElement.id.startsWith("edge")){ - // key = + // key = // } for (const child of Array.from(svgNodeElement.children)) { if (child.tagName == "title") { @@ -125,25 +125,24 @@ export class CanvasComponent { } } }) - + if (correspondingElementDtoNode != null) { this.elementLookupService.addElementTagHTML(correspondingElementDtoNode['id'], svgNodeElement, correspondingElementDtoNode) - svgNodeUiNodeAssociationList.push({"svg":svgNodeElement,"ui":correspondingElementDtoNode}) + svgNodeUiNodeAssociationList.push({ "svg": svgNodeElement, "ui": correspondingElementDtoNode }) } else { console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!") - console.log(svgNodeElement) } }) return svgNodeUiNodeAssociationList } - addEventListeners(svgNodeUiNodeAssociationList : {"svg":HTMLElement, "ui":ElementDto}[]) { - - svgNodeUiNodeAssociationList.forEach((elem : {"svg":HTMLElement, "ui":ElementDto}) => { + addEventListeners(svgNodeUiNodeAssociationList: { "svg": HTMLElement, "ui": ElementDto }[]) { + + svgNodeUiNodeAssociationList.forEach((elem: { "svg": HTMLElement, "ui": ElementDto }) => { let uiElement = elem.ui - let clickRelatedDoList : WhenDto[] = [] + let clickRelatedDoList: WhenDto[] = [] this.callbackService.setCallbacks(elem.svg, elem.ui.when) /* @@ -176,11 +175,11 @@ export class CanvasComponent { } - defaultImageHandler(element : ElementDto, image : AttributeDto | null) { + defaultImageHandler(element: ElementDto, image: AttributeDto | null) { this.imageType = "normal" - + this.cd.detectChanges() - + let htmlDdbut = this.theImage.nativeElement this.attributeService.addAttributes(htmlDdbut, element.attributes) @@ -192,7 +191,7 @@ export class CanvasComponent { let imgPath = this.attributeService.findAttribute("image_path", element.attributes) if (image != null) { - this.imageSource ="data:image/png;base64," + image.value + this.imageSource = "data:image/png;base64," + image.value } else if (imgPath != null) { this.imageSource = imgPath.value } diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts index ba07aa7e..3f4da55e 100644 --- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts +++ b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts @@ -16,32 +16,32 @@ export class MainPageComponent implements AfterViewInit { @Input() element: ElementDto | null = null @ViewChild("svgContainer") - svgContainer!:ElementRef; + svgContainer!: ElementRef; optionsForm: FormGroup = new FormGroup({}) svgString = "" type = "" - nodeOptionsList:NodeOptions[] = [] + nodeOptionsList: NodeOptions[] = [] currID: string = "" - optionsList: (Input_Option|Select_Option)[] = [] + optionsList: (Input_Option | Select_Option)[] = [] errStr: string = "" - constructor(private attributeService: AttributeHelperService, private frontendService: DrawFrontendService, private fb:FormBuilder, private cd: ChangeDetectorRef, private aspService:ASPtranslateService){} - //private svgService: SvgServiceService } + constructor(private attributeService: AttributeHelperService, private frontendService: DrawFrontendService, private fb: FormBuilder, private cd: ChangeDetectorRef, private aspService: ASPtranslateService) { } + //private svgService: SvgServiceService } ngAfterViewInit(): void { if (this.element != null) { let data = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes) if (data != null) { - let clingraph_viz_data : ClingraphVizDto = data as ClingraphVizDto + let clingraph_viz_data: ClingraphVizDto = data as ClingraphVizDto this.svgString = clingraph_viz_data.data; this.svgContainer.nativeElement.innerHTML = this.svgString - this.nodeOptionsList = clingraph_viz_data.option_data; + this.nodeOptionsList = clingraph_viz_data.option_data; console.log("NodeOptions after init:", this.nodeOptionsList) - console.log("form after init: ",this.optionsForm) + console.log("form after init: ", this.optionsForm) this.cd.detectChanges() } @@ -49,34 +49,34 @@ export class MainPageComponent implements AfterViewInit { } } - retrieveSelectOptions(opt:(Input_Option|Select_Option)){ - if("options" in opt){ + retrieveSelectOptions(opt: (Input_Option | Select_Option)) { + if ("options" in opt) { return opt.options } else { return [] } } - handleNodeClick(event:Event){ - console.log("clicked") + handleNodeClick(event: Event) { + // console.log("clicked") let element = event.target as HTMLElement let parent = element.parentNode as HTMLElement - console.log(element) - console.log(parent) - if(parent !== null && parent.nodeName == 'g'){ - console.log("past first") + // console.log(element) + // console.log(parent) + if (parent !== null && parent.nodeName == 'g') { + // console.log("past first") let title = parent.getElementsByTagName("title")[0] - console.log(title) - if(title !== null){ - console.log("past second") + // console.log(title) + if (title !== null) { + // console.log("past second") const compId = title.textContent - if(compId !== null && compId !== ""){ - if(parent.id.startsWith("node")){ - console.log("clicked node with ID: ", compId) + if (compId !== null && compId !== "") { + if (parent.id.startsWith("node")) { + // console.log("clicked node with ID: ", compId) this.type = "node" this.updateOptions(compId, "node") - } else if(element.id.startsWith("edge")){ - console.log("clicked") + } else if (element.id.startsWith("edge")) { + // console.log("clicked") this.type = "edge" this.updateOptions(compId, "edge") } @@ -85,57 +85,59 @@ export class MainPageComponent implements AfterViewInit { } } - checkClick(event:Event){ + checkClick(event: Event) { console.log("clicked box") let target = (event.target as HTMLElement) console.log(target.getAttribute("value")) console.log(target.getAttribute("checked")) - console.log("form: ",this.optionsForm) + console.log("form: ", this.optionsForm) } - updateOptions(id:string, compType:string){ + updateOptions(id: string, compType: string) { this.optionsList.forEach((val) => { val.state = this.optionsForm.value[val.name] }) this.currID = id - let list = this.nodeOptionsList.filter((val) => {return val.id == id && val.compType == compType}) - if(list.length != 1){ + let list = this.nodeOptionsList.filter((val) => { return val.id == id && val.compType == compType }) + if (list.length != 1) { console.log(`Something went wrong: There is more than one or no node/edge with id ${id} in the options list!`) this.errStr = `Something went wrong: There is more than one or no node/edge with id ${id} in the options list!` } else { - this.optionsList = list.map(((val) => {return val.options})).flat() + this.optionsList = list.map(((val) => { return val.options })).flat() let group = new FormGroup({}) this.optionsList.forEach((val) => { - if(val.type == "checkbox"){ + if (val.type == "checkbox") { let check = val.state == "true" || val.state == true ? true : false - group.addControl(val.name,new FormControl(check)) + group.addControl(val.name, new FormControl(check)) } else { - group.addControl(val.name,new FormControl(val.state)) + group.addControl(val.name, new FormControl(val.state)) } }) - this.optionsForm = group - console.log("form after update: ",this.optionsForm) - console.log(this.nodeOptionsList) + this.optionsForm = group + console.log("form after update: ", this.optionsForm) + console.log(this.nodeOptionsList) + } } -} - submitForm(){ + submitForm() { this.errStr = "" let asp: string[] = [] let form = this.optionsForm.value console.log("Form: ", form) this.optionsList.forEach((val) => { - val.state = form[val.name] + val.state = form[val.name] + }) + this.nodeOptionsList.forEach((val) => { + val.options.forEach((opt) => { + asp.push(this.aspService.toUserInputASP(val.compType, val.id, opt.type, opt.name, opt.state)) }) - this.nodeOptionsList.forEach((val) => {val.options.forEach((opt) => { - asp.push(this.aspService.toUserInputASP(val.compType,val.id,opt.type,opt.name,opt.state)) - })}) - let aspString:string = asp.join(",") - let req = {"function":`graphUpdate(${aspString})`} + }) + let aspString: string = asp.join(",") + let req = { "function": `graphUpdate(${aspString})` } console.log(req) this.frontendService.uncheckedPost(req as GraphRequest) } - + } diff --git a/angular_frontend/src/app/draw-frontend.service.ts b/angular_frontend/src/app/draw-frontend.service.ts index 29868d8b..287d8a78 100644 --- a/angular_frontend/src/app/draw-frontend.service.ts +++ b/angular_frontend/src/app/draw-frontend.service.ts @@ -10,11 +10,11 @@ import { ServerRequest } from './types/server-request'; import { ContextService } from './context.service'; @Injectable({ - providedIn: 'root' + providedIn: 'root' }) export class DrawFrontendService { - frontendJson : Subject = new Subject() + frontendJson: Subject = new Subject() menuBar: Subject = new Subject() messageLists: Subject = new Subject() contextMenus: Subject = new Subject() @@ -26,36 +26,41 @@ export class DrawFrontendService { constructor(private httpService: HttpService, private httpClient: HttpClient, private contextService: ContextService) { } - initialGet() : void { + initialGet(): void { this.httpService.get().subscribe( - {next: (data:ElementDto) => { - this.lastData = data - this.frontendJson.next(data) - }}) + { + next: (data: ElementDto) => { + this.lastData = data + this.frontendJson.next(data) + } + }) } - policyPost(callback: WhenDto) : void { + policyPost(callback: WhenDto): void { let context = this.contextService.getContext() - this.httpService.post(callback.policy, context).subscribe( - {next: (data:ElementDto) => { - this.lastData = data - this.frontendJson.next(data) - }}) + { + next: (data: ElementDto) => { + this.lastData = data + this.frontendJson.next(data) + } + }) } - uncheckedPost(serverRequest: ServerRequest) : void { + uncheckedPost(serverRequest: ServerRequest): void { this.httpClient.post(this.backend_URI + "/backend", serverRequest).subscribe( - //this.httpService.post(serverRequest.function).subscribe( - {next: (data:ElementDto) => { - this.lastData = data - this.frontendJson.next(data) - }}) + //this.httpService.post(serverRequest.function).subscribe( + { + next: (data: ElementDto) => { + this.lastData = data + this.frontendJson.next(data) + } + }) } - detectCreateMenuBar(element:ElementDto) { + detectCreateMenuBar(element: ElementDto) { if (element.type == "menu_bar") { this.menuBar.next(element) } else { @@ -65,7 +70,7 @@ export class DrawFrontendService { } } - getAllMessagesContextMenus(element:ElementDto, messageList:ElementDto[], contextMenuList: ElementDto[]) { + getAllMessagesContextMenus(element: ElementDto, messageList: ElementDto[], contextMenuList: ElementDto[]) { if (element.type == "message") { messageList.push(element) @@ -78,12 +83,12 @@ export class DrawFrontendService { } } - postMessage(message:string, type:string="danger"){ - let messageList : ElementDto[] = [this.getErrorMessage(message)] + postMessage(message: string, type: string = "danger") { + let messageList: ElementDto[] = [this.getErrorMessage(message)] this.messageLists.next(messageList) } - - getErrorMessage(message:string, type:string="danger"){ + + getErrorMessage(message: string, type: string = "danger") { let messageElement: ElementDto = { "id": "client_error", "type": "message", @@ -92,7 +97,7 @@ export class DrawFrontendService { { "id": "client_error", "key": "message", - "value": message + "value": message }, { "id": "client_error", diff --git a/angular_frontend/src/app/http.service.ts b/angular_frontend/src/app/http.service.ts index 11937439..a9f9d098 100644 --- a/angular_frontend/src/app/http.service.ts +++ b/angular_frontend/src/app/http.service.ts @@ -19,49 +19,48 @@ export class HttpService { constructor( private http: HttpClient, private configService: ConfigService, private modalRefService: ModalRefService, private elementLookupService: ElementLookupService, private contextService: ContextService, private contextMenuService: ContextMenuService) { - this.backend_URI = configService.serverUrl + ":" + configService.serverPort - } + this.backend_URI = configService.serverUrl + ":" + configService.serverPort + } - private backend_URI = "http://localhost:8000" + private backend_URI = "http://localhost:8000" - get(): Observable{ - this.modalRefService.closeRemoveAllModals() - this.elementLookupService.clearElementLookupDict() - this.contextService.clearContext() - this.contextMenuService.removeAllContextMenus() - let frontendService = LocatorService.injector.get(DrawFrontendService) + get(): Observable { + this.modalRefService.closeRemoveAllModals() + this.elementLookupService.clearElementLookupDict() + this.contextService.clearContext() + this.contextMenuService.removeAllContextMenus() + let frontendService = LocatorService.injector.get(DrawFrontendService) - const response = this.http.get(this.backend_URI,) - + const response = this.http.get(this.backend_URI,) + .pipe( - catchError((error:HttpErrorResponse,caught) => { + catchError((error: HttpErrorResponse, caught) => { console.error('Error occurred during the HTTP request:', error); frontendService.postMessage("error connection") - return throwError(() => new Error(error.error)); + return throwError(() => new Error(error.error)); }) ); - - frontendService.lastData - return response; - } - post(policy: string, context: ContextItem[]): Observable{ - let clonedContext : ContextItem[] = [] - context.forEach(val => clonedContext.push(Object.assign({}, val))); + frontendService.lastData + return response; + } - this.modalRefService.closeRemoveAllModals() - this.elementLookupService.clearElementLookupDict() - this.contextService.clearContext() - this.contextMenuService.removeAllContextMenus() + post(policy: string, context: ContextItem[]): Observable { + let clonedContext: ContextItem[] = [] + context.forEach(val => clonedContext.push(Object.assign({}, val))); + this.modalRefService.closeRemoveAllModals() + this.elementLookupService.clearElementLookupDict() + this.contextService.clearContext() + this.contextMenuService.removeAllContextMenus() - let request = null - if (clonedContext.length > 0) { - request = this.http.post(this.backend_URI + "/backend", { function: policy, context: clonedContext }) - } else { - request = this.http.post(this.backend_URI + "/backend", { function: policy}) - } - return request + let request = null + if (clonedContext.length > 0) { + request = this.http.post(this.backend_URI + "/backend", { function: policy, context: clonedContext }) + } else { + request = this.http.post(this.backend_URI + "/backend", { function: policy }) } + return request + } } diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index a5fd820d..d2fd6b0a 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -223,7 +223,6 @@ def _update_ui_state(self): and creating a new control object (ui_control) using the ui_files provided """ domain_state = self._domain_state - print(self._ui_files) self._ui_state = UIState(self._ui_files, domain_state, self._constants) self._ui_state.update_ui_state() self._ui_state.replace_images_with_b64() @@ -481,7 +480,12 @@ def download( if domain_files: for f in self._domain_files: ctl.load(f) - ctl.add("base", [], show_prg.replace('"', "")) + try: + ctl.add("base", [], show_prg.replace('"', "")) + except RuntimeError: + raise Exception( + "Show program can't be parsed. Make sure it is a valid clingo program." + ) ctl.ground([("base", [])]) with ctl.solve(yield_=True) as hnd: for m in hnd: diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index c68f1153..5d9f1b00 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -1,6 +1,7 @@ """ Module for the Endpoints class. """ + import logging import traceback from importlib.metadata import metadata @@ -116,7 +117,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): call_args = ",".join(function_arguments) self._logger.info( - "--> %s: %s(%s))", + "--> %s: %s(%s)", self._backend.__class__.__name__, function_name, call_args, diff --git a/clinguin_download.lp b/clinguin_download.lp new file mode 100644 index 00000000..e69de29b diff --git a/docs/clinguin/reference/communication.rst b/docs/clinguin/reference/communication.rst index b41ed249..6ea255f9 100644 --- a/docs/clinguin/reference/communication.rst +++ b/docs/clinguin/reference/communication.rst @@ -68,7 +68,14 @@ To use a value imputed by the user, such as for text fields, the special constan **Substitution** -The values of the context can be accessed for a direct substitution in the operation of a call. This is done with the special predicates ``_context_value/1`` and ``_context_value_optional/1``. The argument of these predicates is the key which will be substituted by the value before it is processed by the server. While ``_context_value/1`` will show an error in case there is no value for the provided key, ``_context_value_optional/1`` will leave the input optional, and in case there is no value present it is substitued by None. +The values of the context can be accessed for a direct substitution in the operation of a call. This is done with the special predicate ``_context_value`` with arity 1, 2 or 3. + +- The first argument of this predicate is the key which will be substituted by the value before it is processed by the server. +- The second argument is an optional type, which should be ``str``, ``int`` or ``const``. Using this type will type check the input and transform in into the correct type. +If the user provides as input a number 1, it will be trated as a number unless the type is ``str`` in which case it will be transformed to ``"1"``. +If the user provides as input a string that can be an constant, such as ``open``, it will be passed without quotes unless the type is ``str``. +However, if the input is a string that can't be a constant, such as ``Open``, it will quoted even if no type is provided. +- The third argument is an optional default value, this value is taken whenever the key is not present. .. admonition:: Example @@ -81,10 +88,20 @@ The values of the context can be accessed for a direct substitution in the opera when(node(X), click, context, (selected_node, X)):- node(X). when(button1, click, call, add_atom(show_children(_context_value(selected_node),true))). +.. admonition:: Example + + + Example from the `ast example `_. + When this button is clicked, the value of the key ``show_download`` will be accessed and transfoermed into a string. If no value is provided then it is substituted by "#show assign/2.". + + .. code-block:: + + when(b1, click, call, download(_context_value(show_download, str, "#show assign/2."))). + **Access** All calls to the server will include the context as an argument. All backends will have access to this dictionary and can use its values for any operation. The provadided backends include the context information as part of the :ref:`domain-state` via predicate ``_clinguin_context(KEY,VALUE)``. Thus, giving the UI encoding access to the context at the time the call was made. Beware that changes in the context are not reflected in the UI encoding imidiatley, but only after calling the server and calculating the UI again. - +Notice that the _clinguin_context predicate will only include things after a server call, but not the moment they are set. .. warning:: The context is erased after every call to the server. diff --git a/examples/angular/graph_coloring/ui.lp b/examples/angular/graph_coloring/ui.lp index ed8aa48e..64c0035a 100644 --- a/examples/angular/graph_coloring/ui.lp +++ b/examples/angular/graph_coloring/ui.lp @@ -40,7 +40,7 @@ elem(window, window, root). attr(c1, class, "align-items-end"). elem(b1, button, c1). - when(b1, click, call, download(_context_value_optional(show_download))). + when(b1, click, call, download(_context_value(show_download,str,"#show assign/2."))). attr(b1, label, "Download"). attr(b1, class, "m-1"). attr(b1, class, "btn-success"). From 75267d227732a84d5b7b69fc702d79405402c13a Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 3 Apr 2024 15:36:22 -0600 Subject: [PATCH 10/61] Fixed show theroy atoms and explanation backend --- .../angular_frontend/clinguin_angular_frontend/index.html | 2 +- .../clinguin_angular_frontend/main.2f2245baa16ee8e3.js | 1 - .../clinguin_angular_frontend/main.72c9bfd9ea3e1426.js | 1 + clinguin/server/application/backends/explanation_backend.py | 1 + clinguin/server/data/domain_state.py | 2 +- 5 files changed, 4 insertions(+), 3 deletions(-) delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index ee2829be..8cf0785f 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js deleted file mode 100644 index 6463cba0..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.2f2245baa16ee8e3.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(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 gg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function OE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(fg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function LE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function HE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(QE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class PS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function BS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={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=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let mT=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&R_;t.data[e+(r>>P_)]|=1<=0?t&R_:CT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Jd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},iI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class yI{}class Km{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function Cf(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 Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function PN(e,t,i,n){if(n)ed(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function hx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return Q0(Ut(),A())}const Zx=Cn,Z0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function ZR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function xS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Jt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:nP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function JR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const yP=O1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class RP{}const Kt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends vk{static makeCurrent(){!function xP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={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/"},rp=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=O1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Fk(){ep.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){zd=e}(document),document},deps:[]}]),Vk=new W(""),Vb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:tp,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:tp,useClass:Pk,multi:!0,deps:[Kt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),eD=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:g2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:o2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=$t.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),console.log("Handle event"),a.length>0&&""!=o){if("load"==s)return console.log("Load"),void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&pD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Fu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function mp(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function qD(e,t){return vp(t).filter(i=>!eu(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Pp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Vw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Hp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Pw(e),t,Pw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[jn]/2:0,ag=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[jn],mo[jn]),lg=P?ue[jn]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?fu(Mu,gi+lg-uE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Ou="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],ug=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=ug?hE:is-ue[Ou]-_e[Ou]-gE+Dt.altAxis,mE=ug?is+ue[Ou]+_e[Ou]-gE-Dt.altAxis:pE,vE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&bC(_,a):"outside"===i?!bu(_,s):bC(_,a)||!bu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Vu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Zp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Kc,gp,uu,JD,QD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Hk,QL,JL,bb,v2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[uD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js new file mode 100644 index 00000000..eb0ddf44 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js @@ -0,0 +1 @@ +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=!u&&!h;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"==a)c='"'+c+'"';else if("int"==a&&!u)throw new Error("Expected a number but got "+c);if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&g&&(c='"'+c+'"'),e=e.replace(s,c),r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index 4687e0e2..e357d197 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -97,6 +97,7 @@ def _ground(self, program: str = "base"): """ self._lit2symbol = {} super()._ground(program=program) + self._assumptions = self._assumptions.union(self._mc_base_assumptions.copy()) for a in self._assumptions: self._add_symbol_to_dict(a) diff --git a/clinguin/server/data/domain_state.py b/clinguin/server/data/domain_state.py index 351fd77d..5b022dab 100644 --- a/clinguin/server/data/domain_state.py +++ b/clinguin/server/data/domain_state.py @@ -27,7 +27,7 @@ def solve(ctl, assumptions, on_model=lambda m: None): model_symbols = None for m in result: on_model(m) - model_symbols = m.symbols(shown=True, atoms=True) + model_symbols = m.symbols(shown=True, atoms=True, theory=True) if model_symbols is None: return None, result.core() return model_symbols, None From 67cb14175f86ab70de55f8febba7c19f710d9815 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 3 Apr 2024 17:49:27 -0600 Subject: [PATCH 11/61] Fixed context replace but angular not updating --- angular_frontend/package.json | 2 +- .../src/app/callback-helper.service.ts | 19 +++++++++++++++++-- .../clinguin_angular_frontend/index.html | 2 +- ...d9ea3e1426.js => main.0797d81d17139786.js} | 2 +- clinguin_download.lp | 0 docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 8 files changed, 23 insertions(+), 8 deletions(-) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{main.72c9bfd9ea3e1426.js => main.0797d81d17139786.js} (54%) delete mode 100644 clinguin_download.lp diff --git a/angular_frontend/package.json b/angular_frontend/package.json index 7318888e..f8e6e045 100644 --- a/angular_frontend/package.json +++ b/angular_frontend/package.json @@ -39,4 +39,4 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.1.3" } -} +} \ No newline at end of file diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index 6877a947..ff7ac1f8 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -182,8 +182,11 @@ function replaceContext(policy_string: string) { let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\)) let regex_const = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/ + console.log("Replacing context") + console.log(policy_string) let match = regex.exec(policy_string) while (match != null) { + // console.log("A match") let match_instance = match[0] let match_group = match[1] || match[2] || match[3] @@ -202,13 +205,20 @@ function replaceContext(policy_string: string) { let isConst = regex_const.test(new_value); - let mustBeQuoted = !isNumber && !isConst + // console.log("new value!", new_value) + + let isQuoted = new_value.length > 1 && new_value[0] == '"' && new_value.slice(-1) == '"'; + // console.log("isQuoted", isQuoted) + // console.log("isQuoted x", new_value[0]) + // console.log("isQuoted x", new_value.slice(-1)) + let mustBeQuoted = !isNumber && !isConst && !isQuoted if (match_type != null) { if (match_type != "str" && match_type != "int" && match_type != "const") { throw new Error("Not a valid type " + match_type + ". Should be str, int or const."); } - if (match_type == "str") { + if (match_type == "str" && !isQuoted) { + // console.log("Adding quotes 1") new_value = '"' + new_value + '"' } else if (match_type == "int" && !isNumber) { @@ -219,9 +229,14 @@ function replaceContext(policy_string: string) { } } if (match_type == null && mustBeQuoted) { + // console.log("Adding quotes 2") new_value = '"' + new_value + '"' } + // console.log("Will replace ", match_instance, " by ", new_value) policy_string = policy_string.replace(match_instance, new_value) + // console.log(policy_string) + regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g + match = regex.exec(policy_string) } return policy_string diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 8cf0785f..9b077eb8 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js similarity index 54% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js index eb0ddf44..c8df6abe 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.72c9bfd9ea3e1426.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=!u&&!h;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"==a)c='"'+c+'"';else if("int"==a&&!u)throw new Error("Expected a number but got "+c);if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&g&&(c='"'+c+'"'),e=e.replace(s,c),r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/;console.log("Replacing context"),console.log(e);let r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin_download.lp b/clinguin_download.lp deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/conf.py b/docs/conf.py index 188c7d9e..a93b7fbf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.1" +release = "1.0.2" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 5f0bd8ca..f9022240 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.1 +version = 1.0.2 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index b6da14b2..c473e226 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.1", + "version": "1.0.2", "description": "An interactive visualizer for clingo", } From d1fbd0630e9e3508eb8d951fee76a91501ef456f Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 3 Apr 2024 17:59:39 -0600 Subject: [PATCH 12/61] Stop browsing --- clinguin/server/application/backends/clingo_backend.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index d2fd6b0a..cf9a65d0 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -590,3 +590,9 @@ def select(self): ) for s in self._model: # pylint: disable=E1133 self._add_atom(s) + + def stop_browsing(self): + """ + Stops the current browsing + """ + self._outdate() From df0e734e52c9f0a685dd0c389f826777ac1534ca Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 4 Apr 2024 15:27:38 -0600 Subject: [PATCH 13/61] Show program in select --- .../backends/clingo_multishot_backend.py | 26 ++++++++++++++++--- .../application/backends/clingraph_backend.py | 1 - 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 66884f64..41882923 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -3,7 +3,7 @@ Module that contains the ClingoMultishotBackend. """ -from clingo import parse_term +from clingo import parse_term, Control from clingo.script import enable_python from clinguin.server.application.backends import ClingoBackend @@ -187,10 +187,15 @@ def set_external(self, predicate, value): f"Invalid external value {name}. Must be true, false or relase" ) - def select(self): + def select(self, show_prg: str = ""): """ Select the current solution during browsing. All atoms in the solution are added as assumptions in the backend. + + Arguments: + + show_program (str): An optional show program to filter atoms + """ if self._model is None: self._messages.append( @@ -202,7 +207,22 @@ def select(self): else: symbols_to_ignore = self._externals["true"] symbols_to_ignore.union(self._externals["false"]) - for s in self._model: # pylint: disable=E1133 + if show_prg == "": + model = self._model + else: + model = [] + ctl = Control(["--warn=none"]) + ctl.add("base", [], show_prg.strip('"')) + prg = "\n".join([f"{str(s)}." for s in self._model]) + ctl.add("base", [], prg) + ctl.ground([("base", [])]) + + def add_shown(m): + for s in m.symbols(shown=True): + model.append(s) + + ctl.solve(on_model=add_shown) + for s in model: # pylint: disable=E1133 if s not in symbols_to_ignore: self._add_assumption(s) self._outdate() diff --git a/clinguin/server/application/backends/clingraph_backend.py b/clinguin/server/application/backends/clingraph_backend.py index dbbadef7..6256a944 100644 --- a/clinguin/server/application/backends/clingraph_backend.py +++ b/clinguin/server/application/backends/clingraph_backend.py @@ -313,5 +313,4 @@ def _create_image_from_graph(self, graphs, position=None, key=None): graph.format = self._intermediate_format img = graph.pipe(engine=self._engine) - return img From d43146dcbce5c49f385da820d992e4a798f3759c Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 4 Apr 2024 15:36:28 -0600 Subject: [PATCH 14/61] Removed console log --- angular_frontend/src/app/callback-helper.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index ff7ac1f8..79d4c822 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -182,8 +182,8 @@ function replaceContext(policy_string: string) { let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\)) let regex_const = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/ - console.log("Replacing context") - console.log(policy_string) + // console.log("Replacing context") + // console.log(policy_string) let match = regex.exec(policy_string) while (match != null) { // console.log("A match") From fea1f810ca2032a85fa33b5880e734bbf2d6aed0 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 4 Apr 2024 15:51:08 -0600 Subject: [PATCH 15/61] Show exception --- clinguin/server/application/backends/clingo_backend.py | 4 ++-- .../application/backends/clingo_multishot_backend.py | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index cf9a65d0..ea218dc0 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -482,10 +482,10 @@ def download( ctl.load(f) try: ctl.add("base", [], show_prg.replace('"', "")) - except RuntimeError: + except RuntimeError as exc: raise Exception( "Show program can't be parsed. Make sure it is a valid clingo program." - ) + ) from exc ctl.ground([("base", [])]) with ctl.solve(yield_=True) as hnd: for m in hnd: diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 41882923..f3842dc6 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -212,7 +212,12 @@ def select(self, show_prg: str = ""): else: model = [] ctl = Control(["--warn=none"]) - ctl.add("base", [], show_prg.strip('"')) + try: + ctl.add("base", [], show_prg.strip('"')) + except RuntimeError as exc: + raise Exception( + "Show program can't be parsed. Make sure it is a valid clingo program." + ) from exc prg = "\n".join([f"{str(s)}." for s in self._model]) ctl.add("base", [], prg) ctl.ground([("base", [])]) From 0dba70256a6531e5d8721e364bd61bd1331a596e Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 4 Apr 2024 16:14:14 -0600 Subject: [PATCH 16/61] New version with open clingo version --- docs/conf.py | 2 +- setup.cfg | 4 ++-- tests/reference_json_output/health.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index a93b7fbf..6d747390 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.2" +release = "1.0.3" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index f9022240..9d29f7f2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.2 +version = 1.0.3 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo @@ -12,7 +12,7 @@ url = https://github.com/krr-up/clinguin packages = find: include_package_data=True install_requires = - clingo==5.6.0 + clingo clorm>=1.4.1 clingo-dl fastapi==0.103.* diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index c473e226..479d5344 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.2", + "version": "1.0.3", "description": "An interactive visualizer for clingo", } From 04a8d873916f3b5c7f2d95cb58fba615c7a186b7 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 9 Apr 2024 13:16:25 -0600 Subject: [PATCH 17/61] Fixing angular context --- .pylintrc | 2 +- angular_frontend/src/app/callback-helper.service.ts | 6 ++++-- .../clinguin_angular_frontend/assets/config.json | 2 +- .../angular_frontend/clinguin_angular_frontend/index.html | 2 +- .../{main.0797d81d17139786.js => main.b4abae7e705ee4da.js} | 2 +- clinguin/server/application/backends/clingo_backend.py | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{main.0797d81d17139786.js => main.b4abae7e705ee4da.js} (53%) diff --git a/.pylintrc b/.pylintrc index 0ad0af5f..c0aaa1bd 100644 --- a/.pylintrc +++ b/.pylintrc @@ -31,4 +31,4 @@ variable-rgx=^[a-z][a-z0-9]*((_[a-z0-9]+)*_?)?$ good-names=_,M,N,B,A,Nn,Bn,An [MESSAGE CONTROL] -disable=W0719,W0122,C0206,C0201,W0718,R0902,C0103 +disable=W0719,W0122,C0206,C0201,W0718,R0902,C0103,E1129 diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index 79d4c822..f5ccf94e 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -192,9 +192,11 @@ function replaceContext(policy_string: string) { let match_group = match[1] || match[2] || match[3] let match_type = match[4] || match[5] || match[6] let match_default = match[7] || match[8] || match[9] - + // console.log(match_group) let new_value = contextService.retrieveContextValue(match_group) - if (new_value == null) { + // console.log(new_value) + if (new_value == null || new_value == "") { + // console.log("Is null") if (!match_default == null) { throw new Error("Missing required value for " + match_group); } diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..b5e6ad70 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 9b077eb8..a8c9b0a0 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js similarity index 53% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js index c8df6abe..e8976a7e 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/;console.log("Replacing context"),console.log(e);let r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index ea218dc0..99c0718d 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -572,7 +572,7 @@ def next_solution(self, opt_mode="ignore"): model = next(self._iterator) self._clear_cache(["_ds_model"]) self._on_model(model) - self._model = model.symbols(shown=True, atoms=True) + self._model = model.symbols(shown=True, atoms=True, theory=True) except StopIteration: self._logger.info("No more solutions") self._outdate() From c4023f9f503376c9cc75efa4a93d5a77f8125ce6 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 10 Apr 2024 09:47:58 -0600 Subject: [PATCH 18/61] New version --- docs/conf.py | 2 +- setup.cfg | 14 +++++++------- tests/reference_json_output/health.py | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6d747390..ac016e8e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.3" +release = "1.0.4" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 9d29f7f2..c1c86910 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.3 +version = 1.0.4 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo @@ -27,9 +27,9 @@ install_requires = [options.extras_require] -tkinter = +tkinter = tk - + doc = sphinx==6.2.1 nbsphinx @@ -37,9 +37,9 @@ doc = sphinx_inline_tabs sphinx_copybutton -test = +test = nox - + format = nox autoflake @@ -48,9 +48,9 @@ format = lint_flake8 = nox - flake8 + flake8 -lint_pylint = +lint_pylint = nox pylint diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 479d5344..3550ee74 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.3", + "version": "1.0.4", "description": "An interactive visualizer for clingo", } From 5b6418dfd2031c7bc9a5cd22b51660701b393e91 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 10 Apr 2024 10:48:09 -0600 Subject: [PATCH 19/61] Another port --- .../clinguin_angular_frontend/assets/config.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index b5e6ad70..1a4d84e5 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverPort": 8000, + "serverUrl": "http://localhost" +} \ No newline at end of file From 42329d0054665f6378c0bbf2d966dbd5b4f882d1 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 10 Apr 2024 11:27:24 -0600 Subject: [PATCH 20/61] Simpler download of current model --- .../assets/config.json | 5 +- .../application/backends/clingo_backend.py | 71 ++++++------------- .../backends/clingo_multishot_backend.py | 15 ---- docs/clinguin/backends/Custom.rst | 41 +++++------ docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 7 files changed, 41 insertions(+), 97 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 1a4d84e5..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverPort": 8000, - "serverUrl": "http://localhost" -} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 99c0718d..eab644be 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -405,20 +405,6 @@ def _ds_browsing(self): prg += "_clinguin_browsing." return prg + "\n" - # --------------------------------------------- - # Output - # --------------------------------------------- - - @property - def _output_prg(self): - """ - Generates the output program used when downloading into a file - """ - prg = "" - for a in self._atoms: - prg = prg + f"{str(a)}.\n" - return prg - ######################################################################################################## # --------------------------------------------- @@ -450,52 +436,35 @@ def update(self): """ self._clear_cache() - def download( - self, show_prg=None, file_name="clinguin_download.lp", domain_files=True - ): + def download(self, show_prg=None, file_name="clinguin_download.lp"): """ - Downloads the current state of the backend. All added atoms and assumptions - are put together as a list of facts. + Downloads the current model. Arguments: show_prg (_type_, optional): Program to filter output using show statements. Defaults to None. file_name (str, optional): The name of the file for the download. Defaults to "clinguin_download.lp". - domain_files (bool, optional): If the domain files should be included. Defaults to True - """ - prg = self._output_prg - was_browsing = self._is_browsing - self._outdate() - if was_browsing: - self._messages.append( - ( - "Warning", - "Browsing was active during download, only selected solutions will be present on the file.", - "warning", - ) - ) - if show_prg is not None: - ctl = Control() - ctl.add("base", [], prg) - if domain_files: - for f in self._domain_files: - ctl.load(f) - try: - ctl.add("base", [], show_prg.replace('"', "")) - except RuntimeError as exc: - raise Exception( - "Show program can't be parsed. Make sure it is a valid clingo program." - ) from exc - ctl.ground([("base", [])]) - with ctl.solve(yield_=True) as hnd: - for m in hnd: - atoms = [f"{str(s)}." for s in m.symbols(shown=True)] - - prg = "\n".join(atoms) + if self._model is None: + raise RuntimeError("Cant download when there is no model") + prg = "\n".join([f"{s}." for s in self._model]) + ctl = Control() + ctl.add("base", [], prg) + try: + ctl.add("base", [], show_prg.replace('"', "")) + except RuntimeError as exc: + raise Exception( + "Show program can't be parsed. Make sure it is a valid clingo program." + ) from exc + ctl.ground([("base", [])]) + with ctl.solve(yield_=True) as hnd: + for m in hnd: + atoms = [f"{str(s)}." for s in m.symbols(shown=True)] + + final_prg = "\n".join(atoms) file_name = file_name.strip('"') with open(file_name, "w", encoding="UTF-8") as file: - file.write(prg) + file.write(final_prg) self._messages.append( ( "Download successful", diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index f3842dc6..80ab5b2f 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -63,21 +63,6 @@ def _ds_assume(self): prg += f"_clinguin_assume({str(a)}).\n" return prg + "\n" - # --------------------------------------------- - # Output - # --------------------------------------------- - - @property - def _output_prg(self): - """ - Generates the output program used when downloading into a file. - Includes all assumptions as facts. - """ - prg = super()._output_prg - for a in self._assumptions: - prg = prg + f"{str(a)}.\n" - return prg - ######################################################################################################## # --------------------------------------------- diff --git a/docs/clinguin/backends/Custom.rst b/docs/clinguin/backends/Custom.rst index 9bb8707f..615caaf4 100644 --- a/docs/clinguin/backends/Custom.rst +++ b/docs/clinguin/backends/Custom.rst @@ -1,10 +1,10 @@ Creating your own backend ------------------------- -By creating your own backend you can extend functionality and edit the existing server workflow. -If you are using clingo, we highly recomend extending the :ref:`ClingoMultishotBackend` to create your own. -This backend contains multiple functionalities already built in wich can be overwritten and extended. -The following explanation assumes that this is the backend that is being extended. +By creating your own backend you can extend functionality and edit the existing server workflow. +If you are using clingo, we highly recomend extending the :ref:`ClingoMultishotBackend` to create your own. +This backend contains multiple functionalities already built in wich can be overwritten and extended. +The following explanation assumes that this is the backend that is being extended. .. note:: @@ -15,18 +15,18 @@ The following explanation assumes that this is the backend that is being extende To make your custom backend avaliable to clinguin, you must provide the path via the command line argument ``--custom-classes``. -In what follows we divide the possible extensions. For more implementation details, look at the +In what follows we divide the possible extensions. For more implementation details, look at the `source code `_ -All the presented methods can be overwritten to your desire. +All the presented methods can be overwritten to your desire. Constructor ++++++++++++ -In the constructor one can add custom arguments and new domain-state constructors. +In the constructor one can add custom arguments and new domain-state constructors. .. admonition:: Examples - + * `explanation_backend `_ * `clingraph_backend `_ @@ -44,7 +44,7 @@ By overwritting this class method, one can add new arguments to the command line These options will be added under a group for the created backend. .. admonition:: Examples - + * `explanation_backend `_ * `clingraph_backend `_ @@ -59,7 +59,7 @@ Some are called at the start after a restart or when a change is done in the sol When a custom argument is added to the backend if will likely need to be handled here. .. admonition:: Examples - + * `explanation_backend `_ * `clingodl_backend `_ @@ -81,7 +81,7 @@ These methods are involved on how the domain control is solved. They can be ovweritten for theory extensions among other things. .. admonition:: Examples - + * `explanation_backend `_ * `clingodl_backend `_ @@ -99,10 +99,10 @@ UI updates ++++++++++ If any changes want to be made in how the UI state is computed they -can be made by overwritting this method. +can be made by overwritting this method. .. admonition:: Examples - + * `clingraph_backend `_ @@ -114,12 +114,12 @@ Domain state ++++++++++++ These methods take care of generating the :ref:`domain-state`. -When new information wants to be added a domain state constructor can be included. +When new information wants to be added a domain state constructor can be included. These domain constructors will be automatically called by the `_domain_state` property. But, they need to be previously registered in the constructor using the functions below. .. admonition:: Examples - + * `explanation_backend `_ * `clingodl_backend `_ @@ -132,7 +132,7 @@ But, they need to be previously registered in the constructor using the function .. warning:: Make sure any domain constructor added is a property with anotation ``@property`` - + .. automethod:: ClingoMultishotBackend._add_domain_state_constructor .. automethod:: ClingoMultishotBackend._clear_cache @@ -142,13 +142,6 @@ But, they need to be previously registered in the constructor using the function Domain state constructors for this backend are showed in the section above. These constructors can also be overwritten if necessary. -Output -++++++ - -The propery method below is used to generate an output program for downloads - -.. automethod:: ClingoMultishotBackend._output_prg - Public operations +++++++++++++++++ @@ -157,6 +150,6 @@ Each backend can define any number public operations or overwrite the existing o These operations are any public method of the class and will be accessible to the UI. .. admonition:: Examples - + * `explanation_backend `_ diff --git a/docs/conf.py b/docs/conf.py index ac016e8e..d11ca1a9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.4" +release = "1.0.6" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index c1c86910..feeab4ac 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.4 +version = 1.0.6 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 3550ee74..53ba8691 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.4", + "version": "1.0.6", "description": "An interactive visualizer for clingo", } From ed9ae9fc4d7ed051d5ae2cdcf574dc547f7dd553 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 26 Apr 2024 12:43:36 -0600 Subject: [PATCH 21/61] Study regulations example --- .../application/backends/clingo_backend.py | 3 + examples/angular/study_regulations/README.md | 19 ++++++ .../angular/study_regulations/encoding.lp | 37 ++++++++++++ .../angular/study_regulations/instance.lp | 34 +++++++++++ examples/angular/study_regulations/out.png | Bin 0 -> 111314 bytes examples/angular/study_regulations/ui.lp | 57 ++++++++++++++++++ 6 files changed, 150 insertions(+) create mode 100644 examples/angular/study_regulations/README.md create mode 100644 examples/angular/study_regulations/encoding.lp create mode 100644 examples/angular/study_regulations/instance.lp create mode 100644 examples/angular/study_regulations/out.png create mode 100644 examples/angular/study_regulations/ui.lp diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index eab644be..97a8b76e 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -297,6 +297,7 @@ def _ds_brave(self): It uses a cache that is erased after an operation makes changes in the control. """ + self._logger.debug("Getting Brave...") if self._is_browsing: return ( self._backup_ds_cache["_ds_brave"] @@ -327,6 +328,7 @@ def _ds_cautious(self): It uses a cache that is erased after an operation makes changes in the control. """ + self._logger.debug("Getting Cautious...") if self._is_browsing: return ( self._backup_ds_cache["_ds_cautious"] @@ -358,6 +360,7 @@ def _ds_model(self): When the model is being iterated by the user, the current model is returned. It uses a cache that is erased after an operation makes changes in the control. """ + self._logger.debug("Getting Model...") if self._model is None: self._ctl.configuration.solve.models = 1 self._ctl.configuration.solve.opt_mode = "ignore" diff --git a/examples/angular/study_regulations/README.md b/examples/angular/study_regulations/README.md new file mode 100644 index 00000000..ab7fe67e --- /dev/null +++ b/examples/angular/study_regulations/README.md @@ -0,0 +1,19 @@ +## Study regulations + +- **Backend**: `ClingoMultishotBackend` +- **Frontend**: `Angular` + +Create a study plan. + +These encoding was presented in the article [1] + +### Usage + +``` +clinguin client-server --domain-files examples/angular/study_regulations/instance.lp examples/angular/study_regulations/encoding.lp --ui-files examples/angular/study_regulations/ui.lp -c n=4 +``` + +![](out.png) + + +[1] Hahn, S., Martens, C., Nemes, A., Otunuya, H., Romero, J., Schaub, T., & Schellhorn, S. (2023). Reasoning about Study Regulations in Answer Set Programming (Preliminary Report). In ICLP Workshops (Vol. 3437) \ No newline at end of file diff --git a/examples/angular/study_regulations/encoding.lp b/examples/angular/study_regulations/encoding.lp new file mode 100644 index 00000000..ea2ada7f --- /dev/null +++ b/examples/angular/study_regulations/encoding.lp @@ -0,0 +1,37 @@ +% generate +{ in(E,s(I)) } :- in(E,m), I=1..n. + +% s = s(1) U ... U s(n) +in(E,s) :- in(E,s(I)). + +% m(w) and m(s) +in(E,m(X)) :- X = (s;w), in(E,m), map(s,E,X). + +% additional sets +set(A) :- empty(A). +set(A) :- subseteq(A,B). set(A) :- equal(A,B). +set(B) :- subseteq(A,B). set(B) :- equal(A,B). +set(A) :- card(A,R,L). set(A) :- sum(A,M,R,L). +% +set(A) :- set( int(A,B)). set(B) :- set(int(A,B)). +set(A) :- set(before(A)). +% +in( E, int(A,B)) :- set( int(A,B)), in(E,A), in(E,B). +in(E1,before(A)) :- set(before(A)), in(E1,s(I)), in(E2,A), in(E2,s(J)), I < J. + +% constraints +:- empty(A), in(E,A). +% +:- subseteq(A,B), in(E,A), not in(E,B). +% +:- equal(A,B), in(E,A), not in(E,B). +:- equal(A,B), not in(E,A), in(E,B). +% +:- card(A,leq,U), not { in(E,A) } U. +% +:- sum(A,F,bw,(L,U)), not L #sum{ V,E : in(E,A), map(F,E,V) } U. +:- sum(A,F,geq, L), not L #sum{ V,E : in(E,A), map(F,E,V) }. + +% display +% #show. +% #show (M,I) : in(M,s(I)). diff --git a/examples/angular/study_regulations/instance.lp b/examples/angular/study_regulations/instance.lp new file mode 100644 index 00000000..2f442209 --- /dev/null +++ b/examples/angular/study_regulations/instance.lp @@ -0,0 +1,34 @@ +#const n = 4. + +% b, f, a, o and p % c +in((bm1;bm2;bm3),b). map(c,(bm1;bm2;bm3),9). +in((fm1;fm2;fm3),f). map(c,(fm1;fm2;fm3),6). +in((am11;am12;am21),a). map(c,(am11;am12;am21),6). +in((am22;am31;am32),a). map(c,(am22;am31;am32),6). +in(E,o) :- in(E,(f;a)). map(c,(pm1;pm2;pm3),12). +in((pm1;pm2;pm3),p). map(c,im,15). + map(c,msc,30). + +% m % s +in(E,m) :- in(E,(b;f;a;p)). map(s,bm1,w;s,bm2,s;s,bm3,w). +in((im;msc),m). map(s,(fm1;fm2;fm3),w). + map(s,(am11;am12;am21),e). + map(s,(am22;am31;am32),e). +% e map(s,(pm1;pm2;pm3),e). +in(fm1,e). map(s,(im1;msc1),e). + + % l and u + map(l,b,27;l,o,24;l,p,24;l,m,120). + map(u,b,27;u,o,24;u,p,24;u,m,120). + +% global constraints +card(e,leq,2). equal(int(s,f),e). +sum(int(H,s),c,bw,(L,U)) :- H = (b;o;p;m), map(l,H,L), map(u,H,U). +in(im,gc3). in(msc,gc3). subseteq(gc3,s). + +% temporal constraints +empty(int(s(I),s(J))) :- I = 1..n, J = 1..n, I < J. +empty(int(m(w),s(2*K ))) :- K = 1..n, 1 <= 2*K, 2*K <= n. +empty(int(m(s),s(2*K-1))) :- K = 1..n, 1 <= 2*K-1, 2*K-1 <= n. +in(msc,tc4). sum(before(tc4),c,geq,90). + diff --git a/examples/angular/study_regulations/out.png b/examples/angular/study_regulations/out.png new file mode 100644 index 0000000000000000000000000000000000000000..f731fd4ec238e76475532a0883d5ad119ad0b105 GIT binary patch literal 111314 zcmeEuhg(xiw?0KcP>P};AP_-7K#El9pdd)^y$RBr^b$f5m8KNwU8!P13B3hGL7MbV zASf+B2p}b)^V^>9yWhRXd(I#5d+yDpOK0QVn4G7fFFLHv)U52?#FBIz4=-{rKTSkhYhHy_2gQ0f9<%iV>NyUJqTa+1mv9 z2jn0S#~$ZJ6><>A3p)9rE3PkY%ip<2`aFu+LjM`ohLEX=Cx40%&hAIoj-pq(mh20+ zHbNDKl^^%w2k`xf^HcP<(1C2J`pX3CB@H&7R38cD%kNlSWxD$5MppJ`kT3Ctp>R%D z5q<%!Z!vLk1Vf~Qq4oaa@5O6esD#Qwapy*(OP6*62tdO$B|moq8fjRG2r8DMISvVE z>{<@Tg5j6Hkk)VrDn!xuK6^!E)cY)xXe;TsqpRwcJE^?Vo4%B%1oAEs(gk5@grbfR z8mZ`m2UiHzFGoSVy}5R8X}+8yJ&L-Ox+XjtGSqXBWj~X^nU;0$#dYt*EY){{TG?N6 zaG|M-p=R!JK7y~VyE_=w>SE=_KwrqXKSjCXD{Eq{2Z()-4R41aBYdClN%zY z#@WSV``&l$s+d}j)pyk;Pdhk^YBjB~>gi+#QJgMo!F9W@Tng&pQ~C1gH^}c%+H|#S zG(0OBT+LVaTY49-$jI9_Pqbhhe&@FQ`}pgHYR_#`&WaiXBX&E*94I6bRf9ot!m|20 ztgwu(6f`yZc`dmj?1cie0%|I%y>Xi)Tp^~>c8*BrLAEYB;=UZn@E%=Bly`p0SwjYh zOYv)#!bYYMP07tzu9Yt&r9)k#orl9eW2ArP-*q>xVPg$uh$3*Mxp+gK!i+Kfa#dJm zZG9`fC3nzsLV6W>QW^p>4&nQ3k5TN;yY6dWID4T&u=DCGNjI3}9l?%Oq;cmkVPPNm z(h_@ByIz#H!u{^>N!`Oc!`d~9+ZTjBhbp2!e~ma?`NWAi$De?XbDk)0KIl;)V;34D zlZjU7khi&WFWoVg>3eH~I16F?S!LsQ^;z#{Ec2)2TIARlT`!nkP<_sM{Mn{Q%OsAF zSzFH7B({dtCEQFwLtL5wAHJ^5Fxg2NM!ZR}Souuu#x!M>s~xK9qhQF$8S-*S1Cy#; z6)gh?HT!XrTL{bJ>Vihf(r)KdTgbJ>V#@I>nXz5(U>x;0`iu9$VD8j|4Uiv;)EkSA zxF`Ez;W-_Qm2?{om#NFjxpu}yZ}1uBYKe_qIb%nC&q*;58Z7-<+O-y&FJPs82dqqt zd-_u(T992hul>2z1;PmS1&KK8hWm{TM4;o=JC;@+HcRuAiuKD<;#<@N!J1T;FW)>J zc$ss-x{WOOBt97Jn!Y{yp5oI>cInbW`Su@G#DuLJV?UCLsb7anREF<*5^jECI*0(# zkmk!vtB}$@!DT$lQTwDXNc@e2w?wsbaZSOJJx}|x!NXb|_Av_PXdxXs#<;Hqv_qGDC`?}rD5t%1 z8Rqd3H;v4FBv2qeM72jU6HlmqeY8{k9@*K2&@RSg z6S0tv==;nL->IIFL@tour_Osm_?dnY^D`%a8TH!g3+oTafjCi$wMr#dz?J(i;4dzJ z)_*|$KD#pKS^6_NSv89n{)%imX^t9uVS_e8_hRqoG^96#H>3r`OlfZ1#wDrThP;*O ziM*z?@OI}hN1<=wTwzinw2*&XotaiZBcjR7^M2-e}7(HA+JUG%^6FoCA za}#?PD}vno5>SMoYewye`@0E9rC3g4ZI>J#JHXj<`wOSB_Gc@hc^1AcvgJ;0f z2h5Eh#v8_42VRAp-N}i4%DJqE{XPBMT~1k}G7fxbL9`9}5qgr}k6${CA`MgUq2Rf4 zKg+n_dI}T){p4GKaT9Ms-l!*W*KoI*lbPk%tlgAhp<^j!Nnxo^pZVsvVzWY`_1qy0 z?K)_i%Zivq>>#KDPM5LYbFhfMW^m2EWBaOGffVFhaD%K_uw*bpYiVm1MCwHSv?0VG zB>uGj^zaOMng@3^F@ep&(g-yP--dl5+?uxB$k@;eH?~%>cCvO!Fw}l9bo4H=-M*cn zU9=r?%l+2qL(P|0AAEV37KvK8;Te$atZ9|5JoT+|cqeu1B)lp$^MX{L!Dn%P@>5C=GIrmF8vPaH@SHQAyEaKemMzhTaVFyJ& z@mF217Lsd3uSYM^LTTr@NI1(>)^A98ZG3~LB~iY8*+a=)nB0+!u!#}o4MCJTQf(sRJjS5stR~vQHmD9KOQuNOx@5@T@fR%Cbnz{oh^OV`K zS#~x)ow^T!RX>+L_h4c6m?5foLPTXSU7=yF&rnk+gZ%Iv~EAqJ~9u6LbF+t0vw=wHy^C=-F1>mP;? zhkhA0ZHc{rcmX5b+{Wm$KMp&E{h z%YjQ}L1jKd{TVh*O(P~$T!Q@K=jZCUo@qTSdx%X%G=ckY;gAu?AiiX?Ef91fKdP|O zKJzd&l81VfI&I>X@96r`x-dqH@h#I#{0n9$=RJ4n;IW^pakj->JaL$tRzc6bY|f&? zla#oQwW785a|iCvO^cMSp)%kO<>Fl;^|_RC;2-AOjlyUXw3g*| zW~*`+PZx=kX5?0+*_;`sJiy$^ao5$wm31y;;p6=H=p<1^PV+!x$l;@eKT9GS~K$ky~E#kPxdQh4U{1@!#UnavYE#T;MwWNLsCxTbo$OrE|Yf zkiWJ3x0GkgZA3R*9fKqZD*OrLHAus#@D9nIF{gR6G@ZEyai2mz$H?T*&JuojdA@ZI zvAwlIM{r!%j-?+nVx^WBxgHjv6&A-RI!20j-hmW-i+aXdDY4^X>dtr|UOeS}mVh60 z0O|RX$mN}rjL-yYKlii$6=KBL89%ny&>-Le$`=VP5Hb>w03|};BTLBipYkKZI|Rgk zoF^h6h;$;j@b7yxf!|+$3Bc!<%)fq#-@YOs1CFi&pMZBn|8+Ns%{$`%l<9zL1PXc& zA3p|u^=!TD?A*N_J$%&muw%dp@@Fb0-UI}69KSw{mSm(gBh{(ap~12`IqL)!kb%K!)v)J0yYfuhRl-pg(T$agkv&*3bq$ z^zgC+iSY~a3$n>lfIuK=uc!8sx{8nfEe;&XusQnpJd+d<@b~xU_ZQ~(@Ny8iCm|sr zASfgtB*X{Y!RH<5?(-yo&)u8-UzPkp}nd z`&T>d0-XN)N$%eN?iSENfnQey?(qu>{HJa}RQlIhNo}V9J697$CpTcsfM>|w6BZPb z{zKq@UHb1w{tr>(|0ybd|9^`9k4wLc8hG1zJ@jw`9_l0e-wOM;@c+E{Z$W8+Uw!`{ zWAU$n{^Kk#(y|oN0{_vPECuZ1MSeh$H=Pu<^nqVsn*I7CiUq#z{OcDe6H-sD}(TQ+X2;vFX)9K=d3k*;Q|`NdGNzOLyV9&)?K zChRqLW{O_EW#bu>Q(HQhEs*fHAIJs|Hu}d2`)_VxlZ1sG><7N#WzYz;^zOj!=FiD< zv8`(qL>EC}1b^`*KXU;GqRA37^LzbQmw|J}L>FuV+5cLafXImskhZt>i~k#Gny6)& zzkD!of1yd3ylZCow9H?$>sNL1pj7K=ITL# zw=~@TZWS?HiBbglp$BrRp7!WwNZWmEk+FSsa){33|3*wLt-U@8gE9Cste|o!%lv}?c;To@@dQ8?ie%c`q3Uu z-Mknr-+HmbeY#4?elWwfh{d>ORpt;sA4ZAdoTrppA#QCb*Qgi z?rTe2^JsH>-Z#2jl4p2a9<*L+P^55rH1a{`A$QPrdn-oK=|{IiZi;fG44qU_BulXT zfLw*Ut85aju*1MxfBL&B>omBjf&}ty`lPEIR4KOcG84T9uq{#50U}|C{!~nP+pW3< z10!6bT98kCf25sFe`c+2+Y|Q5AL>~`CRB1QFc${l|7~XF9f{$Lu8{Kx>ZdV1$C56% zn}^3+ZT@O**SU2S2cY0`5z)h^E)ySatx;sV%{J(~k~w?vnhEbbg04M3JMMcUZZ5!Q zCZdJ(sK6T6*pluo8sa`&CR{4c0X_MaSHuFq>2zf{AeS6sD z#&g2SVJm;^xR*}7d%4}W-&XFg!}pgu_>YfVcn^+NvPSLZj`kbN-|H4pCAlHb;O_f_ zSWVTNK_A918AMd2XvBYg7gKE1@Zp$a=L@yml5-jsS(}3NXcqnP&Nd=)Rv-^@7U()p zeVKu6J<&>4pBP?u?lcbVBgRvwKBSW9uC4KohPHGBr-B>e&PuO*DKhNO z{F}yI>{!Pl^hz|6xb26^wpx$*Cu{Q?^)ZtbTyAFdslS#=Ug#NjzgZm}W$;R^KFoM{ zDaq}w2BY|Zp0+o#&TXU-Lz2%;-lF8;Ad5@4Ez~VitqR<=cgfL`J61n)@ahWcvrEGz zqY&lW{Bu)Ce9PVXY{5k4#u+(xumwr(uXfL8qv8p zHWp^0jLRLxJBQPa-X*i6Tb3Duo^O5k`oAe^C^GC^GZS6aAQhq^;{t(%TP$w>UVX?JY;@*pO~9z7RZTRV*3-Z zZS%0aYc*Zj&KR#)UG+KV9;G3|RMcrWKcj~mDN-t)?aeAlpkqbb;7NzDJ3YGbOi5O>Lg87-(`&rRX& zsckOhjxsNUJd{@t$0jP-llS@%$sq@gi_su!=*g4QTN119A~uwy*?w~}D$OnoNS2hl zPF1!C@lh5#YwyD(eZ7LQL6nR=Gqo;d`$s59T8;a-P?y^gYE)o?VXe;0BQcJ72Hnu# za=2SGm||42Cn>Qhl2@Jpmv=oUB(|G{E_(MDH<|-x%#oH&|uYR|x4EDEH-Go$2gl zz?eGPU+f4{dY*+}iR$O4!32*3GjDqDMeC5S&O2kcjnFQ3Z7;_6!Kru-Fkxg%KC%67 z(fndR^%!XSBI4rwedcN>yI<1#`10Wg?$61hBs{%MpyLcT<3Y(JT0}m z(wAa%N*{&5XgbX`8Ps96;<#!TZDS4Ho_57yy`0DOip~-EjkvUw*CaMM!$=HfyTk<5%9`jM+;Z06AxxBcpe5Kglmd5HNR4pz+x}fejrXx#_OKrNU z=S}4%B@v6ixn1CL5!|yv3nUhIyOIPYsUk)LCEG?FZ}klsl-7`}CoQm;}c9)>UKP14b-H>&4ULPa}t-y@V{I4HZ zv|YhyVuNLKMoV!~<1LkLNdGA2w|?|iHP#`nvL)o$Ib@;9?v(QYwl=H2HM-_dtcfYd3$zMz8YVTbJnhVwTs3avL+-L`w1%mZ{}V1nW!>+56OhP1ANagqBIn zz2^Cn+}T0FT4{?aZq8rM`=)ZwFsFYsDLaDL*=4Z9QjT6ta-U!7atCt^!gpnUOuv?&NOn2e~>TJkke=$0t|jl zeVv7-^iRcMg-tIW39Pty_>@MLSP!1pu)BUfglj%{_sz)>reY$@F*0*e;;=Ajsb=(J z>`EezH}LSpG0ehS(uKRqDzT6VlgS&@{`uw3DV|r6GE~^tyd}Vs+ioQJX5dnyZplE# z$}YTO{{7d~wZo9TpIz`nisinn!N5QlON`G7%*62YtjRs+n#_T<#QKK<#Yu_%v5!^r zA;+C{eNHx*3AdH|ZS>44Kl=pQgzB45p475t_BD+RUtiw-Le0hHt{El$=Mbq-=M#hW ze(UQq(wj#^5i9x_h*Wx$Rfav&ovl3 z(q$aV9b3ooat9!-Lp!&qr>whg*(aEy#wX1M&zX%Zk=b!yBnXm8J4B2ZUoW6*5VBj8 zASt6^MQ^9_;T5$oYxi`+9x?b;x)>xH*!0!h@e-4siM zIWl@81`!sz@Y3P`$>3u z{P@kNpT(hCO+LzQdv><~hF8n?^=TxHV{HkIy6LT6v|+d?@n^#qE<%2PQ8Gl}y}ykd zZdKc;MA~Ao(ZcU1Ia(G`O1^=96dyF;zrhZXO#v)KLdcO*E$rM4ann`u`WoB?&E_#Y z^<7N(S$Zl&olLXYJI`O{4TI}>#iC8(xg^J_o21^UOKMKwgv7+U0aQP+i&u zS$C~v34+L85vGgsWl6_f%#!rY6b+b+xz1ZwBJw>D!zbSS_AF$#zn=4ss7`UZuXrXZ zrMY@F%3C8#q>j{{$6&qE98trmIgxyMKZ?)ZK?@te08anRqEU1Tp0;dCz49`FQ{HSU57|;78phgzCy1-dN9D`Og@~;g(X8|jX#_q$P#2*w3{JhlRJh&3c64J3%vzTg^rhi(|cJ@|k zt4RtOhVYN{p9_qv5sl!~{Vjy>s|XV=Pg+e8b^p%X(bs67z*dT9o2TT&ION-?jFnJW`k(^&uQ^%MLe& zob^I068%vbB}s;lISKZ#_4BHjIurIor>(we&M+uBOz+on58A~ajU!N&^CP!k<9KIQ zPkwg2GG-=&Ky&k%jaRBz@P`k1nrMG@a{dN=%#Y z-FY&?eX_7V?79U?$?n04{qB-2X?$Xs>~YsZDYRrGmpN&mZQRHEtTeI1HBNJ;o2{6* zhKJqUz*)13)wwRbe=$P%P2_9lT^pD`>@0Oss#fmQ$B3d=%DvfOCQC{!M@h;xul^4fLL8 zIOYvdTPB1XdoU70APC6eD@;YTYwct;T|eY#Y?QssylsMLP!1)(@hzizsfo$`byaKnN(ukVCmHuiMdTgV# z>(pYoWhKu0=ti+TOuRpWB@dTh;kRCDxcNjX4Z9F8TNNZE6>-d{Kjw2WM8a0@^yD^e z6vAW3`e(7Gqjp=a`Al_*{zso0mL>y{&>i7HS$e$5&>n5XCX;oAy-W}>9G4X2?mrs> z_58r;w*^5&Sf@93i*Anp#5qqCSOrmSq1BAWKGhb>R%-ZWkbd53L|aaRl_I`2Hhy}4 zT<}|XxTFcpgU9yNIFRMICX~TU#wgr)wB3z*H?Mkft>7VRs`r3|RGn2$H$M%uR84d) zJnp^`x}2yH6anwzL8=KNsZSS6Yh7y4k7 z-EbFy!}?eF#-TnTaag3?S@Tx!QjZ?2cT^=XL8;>6FKhs6k+q&Fnb4i**3hE$6R8CASOtRpBooHgT39kSOXT`5Oej(XKRWww1d zPQT9uA(@4+{RbyCD15}qv~B!AvND-kPP~DJ=YF~mdlth6fN1Kjt2bY zc0G+t-@ny=Wbx3-qjQnp+uxT7InLQ^shy@=EsC)8-3)q<8H$uWdAE8z#qW)7rJclD zHt$n21n2QuyHr%j3^n6d*T9z`#(*O!@zERCSdRa+J1A>Ql8@beCL83TJcQ0=yl3t_ z{_Uv1wjysG%~c}5v9r9XaJ1*kzcxHa;XXspzA;(Hn#U?S({$-m?xgb8AqPcA>(0p3 zi-;ka?e7l_LrlSKM=WDuHPx3{yxLwf9P7I3pf#D7Q?oo``lYz`5F<@)QbtwVHEgKi+hEl&Th%r)La$>N-iU(SlUCoe&0J!LO-_j%(r?gc+!@bk8db=2g zZO1jPyxZmi8C)XW(>0H2oyID|F_dq=)diX;d(cj74iB`)R3YC*UF??Tie`fw#? z&ppc-)N>e4$wPyg96xS!c%)kEToObrE>_WwnQ= zzqtjU+Lb&Q9a3hgb?8Kbb(uumrZ(~^k?HixvA8o$eUUt;W~!V8cPDB!kRg*gR^nr; zsmQwz5kq!HV=84E`NXwO@!B4b_ji-@Ksb0;US&`)vZ7$Cjo#|UGSh|n$>FX(@P6vc zOZ1&|zK-*j?rqrAsTM1c-xT}9<&EmWn6ky3p*m#&oBMsov2+br6Ty0+($CJVhd)8` z^Sj_aPKIW%VwBvo=sG)zKl2arD3WZ?oY_r20bm$3(CPP&n)Sh7XL91JE_FzT9&2Wt zG-1juj?G2r9I0VNr81)Z1r{~7R$IIkRY9NDg_zY%w{YX_CAF6seDXv@JmoyNx5KA) z2PyQPDJCYAny58^5Fhe%CJ8JnMPv zCP9kb@I}O<j4C_L)) z6u@$Io8y|1ZHOEki$BWw9gwbZ+{J9AUJLD#qD0=;e52v3OMtgUU`;&aat)R2wYWg;UF2M_8A zGS(pDM{fq2wBLs=ZDRek;=*mwE`o3V3^!FCUjQ`s)Jn9Q1%8x?g6m}a<2flhBqQF3 z_`6CD78zjb47(6ts0DaOi`D&PIc74{!JpRet$H|sPp)Z@2b?Fgm-}KF&@K-2dR3Fu z>-Vn7*j!hMU@-Ne;YPSkn(WanF&Fdh1fp}eG%`i5LaH4l2_1$}a7M>K43;53(aT}D zC3B`gjhMm!Y8b7wSYL{n%=?bU( z$?l+B)@+}KMe~p~N`Z`d$#g}$;7~P7%pZTFe-Q8>HubPhFqt?6$M~R@U-%RylUTP2 zddwHmVaCa<1cdMAeJA#3M;HN#MRotJiPEI`1g~YPdP6*^O%iqu(pOgBtQ!^p{y3N^ zqg;;I44S;YPqjd&;BS}SKp@&zSo+52_hB!0Y> zyWSuVtEMj$FRdWu(Sn-vIoUnJ%8pU2i#pBT=cmu7I@(`z$cskBl@|f@g<-jYRAL2! z9b5XL-la_f(v%|n*|I#|&*K5QYVKZ{$8(Q<&(NQT^b-<}&n6BZ?XpDRK8!7OqTc?; zd|uXE`-za;w37gE)|SY1sVyuVO&>K*xj(U|%)(5EjEwtM!oDXFTP!gI<@6g48~H*l z<2YD+k`8!UVnp@xL9t^{bgSsB>_vy%r{IkFvR$0_Ko>bJmxMzn%Y|=Q55=aB#&gz` zVt7gn{juTz1`Z%JUsR2DcGvUllGZq2;omf}&T9C-t=1IFdZx}@iP~>H-`kfn+0hwk z{|2CmjWZ>~1-VH)CD}GPuf%DPrM6@)l|pEVBMtEU7r-4P6|OYuGjt0^vLJShk6+K& zgDO9I?QnC&qMpbr{F#U8hW!eH<`NxCzGBJ|kN8{OL2EO;n_G%GE3NzwlGqi`C%txh zxOzUIb5j6TA(^+LX~uNra!0u_T-UV5tIHFX;&q@*3{y7vKvQqHSln;pU%2Aq;1^ES z;T)#u-QoNbC3ZTh1y#C5d;O({jV`5#7=o`al`qRt)a4KWMK!c4*9^BNJz5XNel*Q= znh;ZE@H1XCtJ`ql<=WgW@LR5X#-f+cl9U0|CkRA8{@W)Jc)BL{FaEia{xcayig{|+ zqV{pPz2@gX_qrWm!wcBSZPFv`a*u3Kgz=12<5(#Bjsza=i=3E>oVS$S7*<}|sP@}G zsY{b!MQ~rs9xRe{%j(aPvpO9=e>0m7I1$wV%J4L`Vt;6!66_9e1+ z>BV^LrRZ`Y$-i_yO>qX4~G_K)BlJ}4RI4imW;p{t9gU*S+U~_({WBraDqjq(y zxK=)5c1s5wljCn`QR>Rmpj%W>W>6EkCeA4@-1Yiq8^C$lL>wQuc?gU;B8mks>J39L z7+H9iodEDw`4>jH&Fc~?>8j;+sPEG+el9Mp7WfA?7@l~1J#1I2>ng0b%r;`oew@6| zvG=9bu|2pg4QGMt*ydX9xuVsXTOAPtCy689`fiBYyWmH4Wlk}EF-M}h11U8FZ@$Te zP=EpGJ3Tf7%g3m=HC6<53FD{CZWCGQY^Y(x)ltiwM3M7+C7Z>f^#W^>bTDDhoS&xY z6NjT}sGb0BZUm&yt)4?>HOI|bZZi&uLTJjlb$zy>Ph;`<9iIqK`w1eNQ66iTJJx@m z0x_wO{Ws%b)P!G1&PJSB#Yf9A?B@-`AO8#E`DM34nkVC8<7Fg8`0uR!p^(@pnOkwTZ5{c&uyGEDeJre2&e*eWF6WdbG|QBz+V((K%&iXAIeS`@Ukyuk;~6e&b4 z1iQ7xK~VbftF#hzj38dF(fBgmD*2h?f?(YgC zl?tbY6LUGdhjS|%^cTPRfF`z5{V2m&yt;2a_FMxi%+vY-ZYc(_@Izhe`~EtBCCmno zzQMVB@29(h4E;ALlh=eCKpN) zLhggp{upn$II0mb&(8r|-gTq&zFW5dF6?&Qz;+jF(oF4O?VVPwHtnH@@dovK`J>LTE*MH-m`bM-M9E zLNzwAa-dDo9Kd-SnQqq%6~JuSx8-}rm#yH}a$jCj>v_vz3w6A_9%BiySzK{+{wCf( zw>>C}Z>iPXvNY-j=&{#j9$El5QF>-rk5A0%(!OAmbI2}I0`+6A>$@ZncZD(pJK(iQ zIoU^I(Y!H`rhZh*zcp?~$8Ubk?7YdPLJTp~)VbozCJ;XLv_jrd`wZ`;XQ{8IhK) zwR|lKaFeW@rt=%UY3JAKuu=`WoG@-Zlg^p z*SK|W*X4MB4s2IW+X9w~m2*lbYfGAbg)4J{CK<*H_lOz4V_XVEroN`lyfhe*u{Em+ z7@YLJz80lBSWQ!A8-Wr2Gt3Q25dWpFMlP^+IRZD+*LYtHJIlW+4?8PH?0j@l+`8sV z=K-2vxHOD{3A_%njG-6Uob8BVb-bz2m#ECbon)1F1ALa^x%l+cCxwZYIR&TPm43r` z^JezM-TE5DdzN`_1L$=1!W*@Y+=~Hh*8nGmTE$^x?qB|5$gS_A10nu%{4Mh3ZT!65 z>8CS2a!|q%)^93%e#7EvGDJ;?yCuq7Wxe9_0TDiHBh$4e0H4uR5HA~Sbrqt5r5}+T zZi2^((_omNVd9YPDM0)^4dn{nBQ^Bx1eABwLMpHy;X*HEysEDD{q)@oruZn`8RR!z zWjE4V&>T|UR2A=7AM9b$;FxG0qO>(-;}#}j6)VKF>(_kR+^Y)|)n5p);-O1wx)EIU2&6eWu7>9x|P0mQ4CF_qtTX#TIFL%KXR}Hsf6vcU>}-1n}4i>z7S}KwdSPaLxLej6n0} z>vvl*15$-+(LZ_Ld0XZcRyrCa7~F#U6jYIrO?hzxE)y4PluDe7j^f97c8s*zP+Q!F~Z!j#0> z9de9y=x=k`+}IdLtGbwiTUt*>jDf5Q3kmzOmn*CeT=z6=hpLn=aqAVU*DW4TAy;ts z7Q>B6JjNPIQ{snYqouYQEM{umZ2M8c7&pT-o8!j0pHtnJPecz|!^7K>tD9>#&B1fd z014n}n}d9C2P?1R4l+#0N3J<2k;tFl27u z*x<@Gdaz+9L1Kdl)E1RdFxU+rPn^f*N8DITNo+|4*!`oR`gzY1fP5a`2LRf-qe3g1 zpcUk(g~g_Y)MGFE4n3{DMXk&JWv5HqUCXaWwfy&AAqr`u($90k8g-3vMhEx`jqQ=%{PyyuXx-J3 zs&zt(@nxF6Lw3$7=@B`57VlKkrH8t=tl0x0k432f*r#o3J>6ceB!1B<3pDd%*i6>q z2=1?Ay~{w|5ftGVWFG`Ypu8%U7g*A|m063ZKLuSGlpBW{Bst^-&QyzRRS#Udj6>P? z2dJqg-+3}M7ji4v>Q%pu^+Wo09 zbd94x!+^zH#17E(5KI7>4YIZ#7Mdn-{Cwkgns$1-{HWlp7s5z~$Ncjj{$~SrD14=`TQ|K`2zT1vH^y1)!D3vJ!z0<{S!wqpCE<6I3CFBad>*4s zwX2;pza@Bn+Pso}f6X^AV3mEsViL%^U>3h)lwUA3VDROYj63DFEZ|7GB3Uv3CE;SW(`Ra$=xR!jUcCpD91G`3o zJ8O|}6wTdR*;_LtV@Ds{O{D5Td0~K8b^66^6C^#)0)5Mn!@f%0Iq zTF7n(6W)gUXdsvIJw__DnAC2s&Y77U5-)?>hG;O~bx0@Y3DOhEHbgXeBy@nGA^Gp} zPHi5t28yJ17^kh>L)dufe2l1v8N)|<=Sqp6NC1`@>al`jmTKGyTMx-&xi>4Wg(=p^ zDzruO!xORDfQh7mVw~f(u!n0#*@3pFxmtD^;!(@u#+mbHECJiM7*0ROmY0aoSFI@e z(Y1yBF!5an;5pXUlpV|FR!k{O{nma1qy-A6L0;zxFdxFE)_HmBrk22Jd#@R%@u%l( z$9-QlnCu3!{TH4WHsxBhgipO;5?9Ts9<0r)V-W!2ByvVeT5(XiWm(YXq0Y`~WtTYy z^Sb`$0Jms(eVWskSCmhOJ`s9Wlpbq}e7DM%cm0@`mrVqhtW3up)iZ_2aAM~qZ4PKX z13mU6PVYLhF!v8*?h2!V^!5xdH5aneK)ZrcOJsBW?@U#=$*mvJTg^Vq#9azfM1udD89otkgXYari1 z!78)fk=v}^-J7|d>QO!;b%-sa&{V5Fjq`YEZ<`fO>zn8dES%ih5kD&94U)c|F`dVB={ zJU@dz{MH>LS9WG1d$^~^AhE-6>@-;b=vIsWbcwdH64_b4@AIg+NnGeqHiku4zb>Qc zJfP=l-x81?7jI@n50D1q1fH>mXMx;g0AEbf1o6*Z_&iH$b4uDjLV&UT!V)d@Txzq$ z43#cDU2DFZ;j=mWI1U;NbE3hej6;oLah7|RWaF84pF3)qIt;s?8CijI9OIIo#*+G+ z8&8O>SKI5!|!^5Y@wB)nXKLM{ldZ5qzI9+7Zw0KcQnf$ zPvy;FP&cWy_d(|DS32Ko$lCH0PtOG#U%M@WCpaoPzVtkOd=U6_gT)(g7a&Lbs*v72 z8b80X$^DwNHKkn3S549x`Hd2y$|Y9Qt&rwDRzbnkzD^HjaK=PCq&Tv)RUn)F<`D^? zz}waMMZ7W0_#Wo@Cm?l&1}r%)4r~!bBWr^9v zQ4YShlY$cdY>(KC#bC3_waoqV?B`%yr;)|74*4^SNpW?VWTL!%+fnt|Xl z_#0_j#&_VI=&q$Xl1mo#6dYPDUmJ8G%F z84_R;xEg+}v}OP9H-Zfm7S<;Jl?WakB(VNO%y~?kbY5K0uS2r;h}nORV@8iJM+y8H zw>7E7V<0J+BS4G9*K=Y&>2a#8(bL41?ajX+P0SQ=zby&U`nk}F(CX@UiJR!rD>jx< zL%4?kt!$qtGb=NP15Ek&^}99x_m~9WDJwCdVy5UtyM?ms@NYSj3kGhYSEI z7#q9!d3uyQ4o0oVn^Fw;^#ESN!2Ep?h;k$jtAs36RN5u78bc^=tnu=2v)yXPt;PXzgZd)^?VStQx&$XDZ%v8+qH zzr-i!thBx5P&FoxhZu=n5|#K#ku>Uk>e1E{hn0GIPK-i(Qta86M

?`JIDI^>-2ZT<${=fsjWVV`^Ji+xs8F3?p5_PSOl@1{`DAY{ z7|Tt@9FX8Bpy;qIw5m6Xx7%l|HE*^!`nhluvo5~dYU1Wafw@P|W3Hl_!oy+Lm#hKy z!nSG1A}iV~`2l7x)h6;LoAOQ17eGke;d|1U@r%dWaB+0ssBJ5+UH8GHmgT$Y08qr; zieKs6({mfC`!%Ph`;%67oxLelk%wBl>QE1NWZ|6GP|L+Xhi3#tw`jYKL52~Wl41P| zow3VbI$2HHFCsacPfD8NsGO^(TnoZym10q9+**b16^KPmIYg=>#f$ZEs2x-C*gp5+ zLwWG9vxjN3dB}9pgxef0SOGG|GAR((uNv{5o~69;=;KWZ5v{Fv?GJ4*%s_IS(BXbG zJdpFZ%$Pq8-_iq3nE*#Y4NspERmIvhuaSQ|)B*@ctt}pMw5T9dg0eQPXhm}T92;&= zbx&ro#-VWkVBTjcD2qe-UapF%bPu-nvB4oWsebA%x?Zx=2 zXFu2&gmFd2+ZGo84wlRkqHWOShniBpYm8~Ohp&Y-(~31RyN9pG3pEB(SMpoKED@%b z!hs4o#7@&vJ5(R+1khLh>WL1(OGpw-@JAO(9!c-l0QpJJ=GjLHVW@PGcE)SH{x69d zo*nLZ6av8$gv?y^)nd<&c(YRJwIj1z-vigvnp@1Uc4OY^R6+oN1 zL`(=E&cv@uGQuZ)-ihZF-=+%yf4%%GfBUW(u9i0^!aH^`4tnJ2O|KY2i^wr4*$xTK|fXLS>Px;%65D`5txKM0G*V47||Q4TF<`^#TUAO)wlzF8S&tE;Xlkk_#JY+{!z-rtX=R`mMYpe188elbgoqxRh8>^uTSd9Yxtn5pF zV>SNi{6CuitBL#1wEzEd&7*fNmj2iO0{Ep?&_C<{ALI9z8`nSE-amW(KMv3DBk<3* z_y6U#_kUrli!ulKt@c45koPOx3X|U>DPJ?@x5~SXb!aV@rD6#W=953psDQ>tC=-NV zrWgvbr^!ouL=YYLLpYxl-X%Akk@h;2-C(0b((9m|w4! zn-JCHnb4`<0*a*+PxC1`XtJF7;Ie>Nf;@=!O~CVqJ>xb+@J1V3_6sx@<->5o1d4tD znn9u)hO3r0l;Q$%s0qpc5MnhH=PGQnm8 znI;!*|4UFlrOO?NfBxv&N7^V#-6RMwL_9!uN*&?+zuM0M^wO^V+OOhAdCnPaB6#V< zRm?A@i~NGna1_`5WOF`Fnk-&1u?Ga<1Q#6Th~=NsUj%7`NF3!ZJ+1W~0fsK&UxI`N zEX}`iS^+V#QcaMUiUtnoMCrw$kmCH#reEz(1$voEqW7!#ktoCQA$do!sT%B8GSh9E zZbkOo@7i9q>GH1SQ&SfSFA&kZJH1ShXaU?De(l}q-GuRh$LwM9^8XSf)eqbt1!gxO z#!@KxkJA28+CMAp|L#h=hTHewOx|xRPkz&OemCoU26TQ>t%T$Cs@$kQZ`aM=8`fP4 zd-yqo^d>9Oq2V94*O)|%My;7)2^j_9xK(Mlo412mU*2hx3r*q+J?92*nJMDr-lZqs z@vhkjwf=b^9{u}BY~WSG3;&P3zy53T`~Sdk1q?(%L`6^uDG?B9$$`=- z-62YswA2tVkdW>eQlpU^Fkl8qcZ}Q==`kj-V1vQ;^7;C_Z{N=!@%drDoNd>6oO6Gi zM_uRKPc(DC>TPW<>Fkc7L%Y_~Ceuvea6P5dS5;*3PNm;_=}Iefm3GjWbWp4F_rTXQ zQ7_N6dXsh55wcIr9-e+}8BjXn;9|9*CU{t?WDoqamL4h$J(J$&$-B?(2QJnetyzae z5*Zp-Fr;gBcI*8tYfJ0qIt|w}cx?pY493Ch^;R>uT+ZPT!)|hTo#$eQ?C)=!5#KG1 z4wmYSYF1O|k-zEbQkln#W}?}~`u7c7j=DF9C>N0I&fh<)b7^B4gV21@uNQu3k0rpVsV;= z>mGGm(Dw51C#f3$apH! zR@CV8{+8dc)<#?A8Z2iztB*3$-i#`m_$}s7??n z<6os410f4z$A-1?BX=!u-Gp>u+sE8nw6kcFM0u3R+5?6g8=!8GC5uddL-Ii_oR#xXkc5?0`dhMfjCieH>_52DiX&UI=o={a)=mEuePw{fS zYcsttGNzO*>vtFo$WcDv%J@^vOjZd{}Ht9a)gzu;64Z&r{)*3MlUSSF*T%kWF!Rtw| zgJT&;dRaXG`nJO&;m!j}VR@-Jmpc{;$t?eJM-lIcfI1EVFYNA5N~>^5do{yd`hfYA z`0aJ&0;iEx+#L&Du=P>IcTrJ2IZ{T6E>2gQLRWnK*?7KkpUV7WmH`O~H^vica!S$#u=S1}Z1Zqqct1u8iWBb#W{sU05=w^k zK3?|nM0RhA!9>&`t60%HLw8VwmTvuyR*8>9uwMAiQFB+aa*aqzw+2naR+HXQq0}vD zXN$2mWaaDQoZ>FmfHx1}yd8-){u3=*dqrLBNp4qTjg+7Fyvd}Gd?O3&aFUbS9}7^q z2%x*3M0%0FFv6tE(MB4vr5i1d@onA(BZQc0hz?VnXHb52Lmq2~# z8V9N*ALBwXSjSd&GM*JE(tErtpv4 zvj|ZLdi(qY+ypCc0`sC;qw)xy;roU1wFTaD+bi6DuiqKl969g}26GM72MSN62B2p-c%P#p_9$%AK*@moo74w#wH;2;vT4 zjZ}!pY*wB4nnC)0-*mIORtpJBssPcMMIcl&Bc+kN#ddtRBTswf#$p%+`Fcl8dk0NN zVd{9o;%vLFh70xgV((9fcWYlp@iq$$e>jDZX7v7ib{g)A#g0-E+k}&b5y`W}uqO47 zg)!2esA~Pt8;IjbSnSrjk!^nFBh=CLk6u0o$G9=H)BGe`W9XX8?A|FA>GKnjzA5Xv z`xTJci#(5!=OhrnNdd$xP5CAzl~Up)Q4p9Llq>Wc#KtKiFyoqO!jb(vSnAcTels$# z_CT~TbU+Tmbrmz+51Km14fxOy%~qfOXq2~mSl4k=u#LI~hwTXEca!%>uo+5?8ulgd zz}^V(E2=&%qm{bsfgVffH?zx}$&G6Uaf>Fn$KwdgQKMS@Fxe72rj24veHP7&kuC0_ zSM-{G3+F!7kNiT;aME!ZOrR&h3m=&8nYhhkm5}0L{G!+-Mh?ovvH39RVVKW7wfL+Q zmSG2(NblpB)oqAp1f$GJw-w_=AWwRrgCa);KRjZ zk~+o$iz`@oVTTaP61LW2RNT4mKYXJGS1|gm0x!S25f8P5lTWJO`L>%3aT@>F_Js=V zxST(k$Zr7iiK36D_PYE}@XWqs$=l8F-h`%C-b=qR!6#Z{=oPEF;Jce5%Z8%Okl*#c zCz$McZ=W9a1{TeqgFEYok5jJfF8xXfU9OF{8+9TE*eyVS#gGf$+2B-?2&Sw5vT`BR zVL#bI6A)0RBA8wKY+sG;J-4K!z8}#9uQV^n?KVz9_(4K|2g-^>6^6y zd{jBcU+$|$aq-6-nQYPbK@*F&-H|xKFl<+SSAXbqiWY(CYp}h@D}avd&a3gyv!-r7 zG3A)VJ4-6kr#>+rX+pcm{fwex{3&%v0PsKy|IAFjMEM6vMwIuV-c^uTh6ko5a+ zSRQ;_h#`S``4KXNi^gjy6gV$7sc-E9b9ydZZd8%1eTnNWjw$`7;H4gx9vh+RtnUGas;|$$J+LaBm2Qe%95fPYfOC$@;~m$MEEc z{F5QLp9vkl=~%s71kJaC*LvhAmayW`Qc;p!kG-;J86R*%3zi286BXA9VR>NtDeJic zH5|o#`Zpun(czjeS_4bKH)x^-;pVgn|vz9SPJ8w{(MQcC%*MP;@ z5#l{`pRs$(bt#=@&bu#l!bU?7ps?Veo{5<GA>Q+PV+G>FHo65XR%QM; zf!a^Ls3qLTZUMOTr*Yl?iWTI;EBNIshT%8#)RobqKR1Al$`LDtntoAW@@>#QPLG&Or_FK9n&VXSeH1Q0RBr@G7F~`k_3_A6DuEd!VWGB%ipUazPtt6 zw?cNzkGP7i5VI8BLvuOSt@Ng3bzkqQBOCLb@eGKQs9}Il;WT;E%VNP_blxwweWX5< z{^sL&G^-;vaW7-*IYy+C&T*z1m}b4CrR`a7e9$AB2DqxkL~IyFT=d`^cd{~E3+@)F ze!QTEP_9{L#d{>BT>;3GIwFI2k_*;BB0wIIv^8V)P3bbS7}KI@&kddD0bc<6I^MG)fFBg4o%c@Zo&1sKX&$K({*} zc4)cP(^UHWXc0T&n6wa2ET~NCTldc$*FPijuv7FV-4`SY{>&A$L8@5y3RQ3*5C?U* zxGQkftwYpSFzRFG)-qkFc~sL}RM1A_ef=rGbDP<}F4b7_@#rck@;<1J5FO?ZQ&(vQ zk-MnV=uzW7;)qz#FUgt0qS}W5OR2z+&JkM=T2%2NLfNwzjcupzp{(7XmG?7{32voa z`L4w^OZL_plZ=|fx9w(jIm?`hwcC=d@)M~(ir|)b_2hwCeeC81@r+_cF1Q_`X2zo* zHCnII0Abi}0LD~vot}8oeAK-@LiLym4Kp-KTJU%h7QX-saf?wRHt78E)7u)wGvHfA zBKy{iCN?A=hku(HTNMO$Gjp0m*ouh2ucZ3jXxeuoM{uKBoR1L$=N(&IzE`#^0xV?Q zSM$~eSbq!0f6<@tj-%%t_g=sm_`tVVV_T2}C4S&Muy>a02@Y|R%*xR|7dVt%muH)l zqk1%$G~@>QVebL1w8d9QaaD9V4slvfWsn}{NL<;+m?irUy>Rx3LW z)MB9?#qeO&-6ssbNixGK;zTIa4wH74Rg%3q1q_>kr;U0~E^6ncE^;)eMBohiNc!~} z#Ua>A#fYUhZN!7`9uU~1E8oJy2mf`Q_Fvb8=oI205^fcLCpm(0A7^=f=46#blrR)v z=z3u~C0J)kP_tPq$_%bOw3da{O{49`}`kmY)7px*5-Nds9e zqpKbTRLT#t6N`;dVwOsnW$}5nuu%?=)D4_uVl=TvGhh)ReU<&0(%kA(YVVSG>uZz_ zvF=6E!jINZ18I&~Y7&qnYXd}&^rNi{lI`v1EzIi=Rr!dxiHWf7i&Z68$3ddDU8(qemaY{)$Y!^ko!HXl zif3}f4!MgzzO#+}Tn~Iwf3Fqcncbp`c&j8)`eG?d48hD#7;Imc^S?QAI#cRz?~!6} zMRP?}#uYP)C_B68gLp;an6)Mr#DGf0DKIpv?+EQ|jRzt-hoflSHY@^P%U^L^8Q4h# zjW%BgN2UjK0hzTUq3{dlD@qy$5C$}@9^T7$VqOkIGURG2Iy6`(YfoamtQSk z`L(2BS5ENB0;{yrGK@w9?n*p~%M!-fT%ULQS50UEqm3Ko{jjoitZ7M#W!^S+r(6ga z-zDDZy2y{1?=Z$+#j-ED)M$g`VzbK`CyGH!gyJq40q+*MySm`x-B~%gUpov*JGrgE z0YrRQ5Y*0~r=S|m1aNAOge$SU7=t$9vR#{i0Z(1j-qu3yrUA%750C zBK0M^OE|+25p#?}z`KKiT8y>0$K+Gu)=x!_NO#(y8C?GNAf#)6!0@Wb4zl zzNs`N3#@Kn4VhX=`*P7Mt;;tVYXJ5E*@vx%N+=^Yq!S5qgsK#?g_|2ss7C~nz2zU| zrkV^^b6t3#6{2!NokWu2^EUnTE>zGaY_x9nRv9wcZ^q4=DAcvyNNONyaREFzRJ;DE z7eM9ffmxNxx!Y|jaO;tZl8w2h*{sn%igX;nk=V7HyCZK@gVrq1bw=cOWmwKRiozpO zH_v_l8c+YdTLSyB4G~3=1GB2oMpCb0fm(xVM#_)RtJg0cEZWef*XlmByxX$yP^A_0 zk%nGQvqt94@2u(xQBKqbr+$WP8fOa=GIW}wiJfbvar$zd3|gYCa2<#yEl`bQT%x$& zcpc7#=pXvo_Cn!g<8hNLKVpmPNDyN5w2Da_=U)I;t6K~8XN zB~k)zcD<>iP0do;f1AD#^>T5H>lD1@d(^9UjjHHd=mJC^zM0<0#Gu5)rvS2^`nZzP zLebbLi+2;9A42m^T{v}vZ1?)bMJ&b4wVMSj)T^}P zTahmz5lrLI7fu7;k;4@oyVkAwU35D)PUl-K3wO|yg)JNfQFE%~=SH$8yE5I^hx{=z zlP%O0;HX$2#_KPUL7z{E}UjctIUztgVxFzmP_to7`A%* z53KB5mW^1C89w+Y0cN%)OI4!`trGC6at$)7)vUeb*Ofidxac4hk*379N|Ht>N0(n5 z=fI)F$-VM_Cf_^``?-iYT5iQ%?x9?piI_OQl1Kb#G$4uD56a*2TDFAr1;WVg7Wv>;>Sb=QByrZ{PA##L7_P|tc-CC@m517>|Urwg2ycOV(( zx1@jYjb>pi{F#>0hYIuv*pg6IBNierwQ;(g0eN|(s2-CZBsvb5V)D6bc(`RA$8KkJ z=p}H}oPHOidH=7h!GzBlRu?Yfi23b^HE_a15C5iKf8B2myl4nH$M;wP zD_D=1L1qW=c<9P+cXgrQmRO2n&7N^U$p5fwY050WGdy6hEcvLK6<%F9Va6zIWyIR9 z-H3Hbjzr+k9Ix<$g9F+ar9b3om3T|h%7X7$>);yO`tk1xD848Emf?V8A5%aKcA>apOpB%e6D+DpjznW@O-Is-Cn{z9QK1OAJRE|FROIlAR$fI{MWoa9ndqgC% z=NQbo=XP3sl{W6U&e|1va&d3ssBlaeG@=ltfv|oTSWxbK{Na-Go!I-V3uCU+b-=S< zoUb^U4hN0@%7#6T+&DLXqWYOS?Xa`>=YnpP;{|2Z>#X>UhP z7yTrmtVjpjfPgwE+C^&P3veQvSm-*a1EIU3O@OJ3EHE+ zr_-uJU!}1F1ZD#XNZk`-1FeAL&~p)|wDCC;6%2i?72$*A^>D^dBbXk<>F$?0{s=E` z#MI(+C%7(SBteGc{UFK$Br$SiRq<+8OwQiG$4P!O8K~~6#bc~19sBz$>bI`sn3a8(lGu(M^*dKt8S*Q~ah}P_6tLM}!c@;s5{4ehd>Nt$zRibUGJ-V(uiJ%4xUChb{@HZ>KVANn?u_?Yt>S~D+>V^ zV-twXF9?}J2K|FPKS)j~srNrWQxS9Op^U8Y#ix7}a~Bu3?EDIjSp6Zxd4T1@)YlG> z-itXxmr={$YgI@R-Ww)l8Ti=K!uYOZ!kq3<5BExrk0@B^iaJe4PFFv7M-DaESevKS zJ%#b~MjA>;cgXE|7E^ltcqf%_xTWCv4NZ?xEQgBagL@oQVVrZmi{A1* zhW)MQIv$4Y;XExd9O;kaUGt_P+B0LOv(tPG-A7L%$XnI3)|yNd#_~7{*U&01%Z3$< z$hg%&vDbBj{TY9jFgMxirlmu&o*VF)F^66gzvl8iR$A8o=XOZ>(vsQ$&E-&6r>;6g zC9$L1-?O(~XUDLacmkoVzHRjsSrC$a>BeE&EtrvF>bk)yT#Z*Ix2`ru=qe%KkKZS zj=R~BM*r!l?DXE0TGxbFosQ;4HT;&M) z#mxIFG9sOtsqSqSJWQPTp4^?vhKU}*#8#*F1bzpU)?~#vvSIldVZ4+U;{+&K`)U{vI+w~VHa7~9KT$q`!sCHXEuppFd^p@-=j3<)*L%LR*{os((e{_!LPezo^5Y%Qq{h1 z@(ehHJm_eh(sS@F!#t*{WNGB^kbd>fYfy~C@j!U z74$E=6M%2G^tBJi+vmk_RF0u}_8OC80`j|luQsVK2yt&83=BSDHTJ=->$%sbw)aYh z!S^QT!%rrxcc5Y3r7e577w~y6QQva;9tvr5@m2#HyKn64^~HE}RRE95#m{;3>NSs4 zWF$H)FY%b^&I#b|K1aM4=_GLZJlnAyiT!Rh>yxE)F0l}i+Bz||?=!OZ!(c2VTQuUw zQ~k})xn2nSS^8lZMWU&eOu1=UB1>=}wNUhek6xDJ1sHi$D2^}c+;V2J()|Nbl2c=g z2G*^M1TH@RPVK*8ny&*eXJ;`*r{nPr8+&0#WjU6K=6!EZQOrGDh8h1n@Q zKkycqy(mHZ@ zbtWUL=g)s;_gZ~A2y;hLu?e#qY00tq z{$ee)3*4TCnGx=Ke_VdAt**5s-vG%yLcsh}b*#O*X9{nUoV0H;r*xBdp zzJAvcM;cI4_k6E?=UyS1xB{DW0IWp2x^PF%gdV7=XUv5D07=|84z55J=3M93(O;-J z7vcBGOr4Hmd4fG8M&eAzK&c^rH0m4hF6`1M^;##rBt9xf&d&kSI}Uo^8cq@7G9&-f zk5PkikG~j(!9_!BPgqimT%fIoRa9{JmG5bzZR#JHc~pi?agKu5MEx~}`t5QIf<|5H zt4a2e7R60ZhV)Asbq9j&y6qK7fAuWg^6%!b_)-(|s#q3GuUvgJj}uix7~hP@QxqXx z5trrM$V~%RApZuBno}^?8p99!%GIf~fWWm!ze=OFUoL&Ofha0;-n_Y+q2)0;u>GLXk)ESOVwF>w~*km<{OlALg()R@TB6Zm?D#D!97E zqyCTjhY4Wk31CFZ6D>$@FU=)?b8%G0s6@W7N~)j6K9;=BBmLVvEudNTQSo`Utq!d; zY-8h4(%Xwx*<4R%8xI04{c~I_;&Z~Q# zSO5RRd5JHe>GSru(Bdssnd%d;_VXT!o9`ULEMe|T&ulnFauYfXlfe=>WQ{FuXj`j0 z6)w4z9(|n~aCs8BB7W^<&ryH}`1A`^P0WJOt{-FfBly<22=AsT^t71xjp&;%XMjO) z-H%oIe0n~6n{?z>aG7|~s#CZE9NIaYa`ZP{=#m}1?U>MFAFOMVy|xP>)3HL_ip-2m z8_e$mEEzlHWK_1PK*V?tU?|MDJ(@~C;k5-J0LpPG%xD#iq4A7qlYerH1G#WEdM)%~ zHH06GSUqAO=;1qZ7knueCTK)-w1J36uAvJ&Sc%^C6j`%zGr#8&gVnPOU*vJwG< zq|PLnWNgMTKZRPh9Xv?;rqB6u6DHfg_$;#@#NXlorERyS|5O>2HZkZI8H|1lmOV%} zGe6=QNe<`7L$BeDC3SD|k-8gh_YnWyjF|ou#<3mtI02k{NKMtgzMXey*4D3?0F2_E z=;x{(w_7Q{E@+#*2w&ThpFu(pTfuXQX`enSyvw3LTFW>LS1DWq{1;W$zf3NqRM>JW zBneUIkjPt$QH4Xm{vQL`4wL0Yv(v_LH_jkTUCMZZrf&4f&hHq6WR%z@(OdeCe(FSt ze%~jbc5SLUMR|@vrGGwoxg$%kIr*@B3M(<^TZ>n2;bE(%nuO^hrNwc*}_ot}DR7pyfD`~R#K0>~+SMF0mXv5O?`y6ZjN@)$TSgYWpOe%jmgDs#m5;XZ%qB#PFb zhW&Ut%YNasY5frSV{6%aEVNqZQ^dhLspXkNRH%3u2RP&qd&N)UVSLj%Ms)B=t+>?F zKO@2W&cP%nl^mpS-Dwl04*b3bUk{ACdSL@1AQXW;13TmLgS}#})+sac@Mnn`=4_rQhiNK$jcC<;2v=_@tTSo_q9^qpv%#5zjgZ(7fs*Us z20NdunPc9XmY};WqaB!e|DWFOi6=FNP3w?KhNEQt-z#e9>azIA=C|N7MS-+f^Mb(r z+wJc%>?kJRS6MymteH1*rI3y0pEKSWyw%C(D%s2wK2Z^|`kUCoUT1{y8lR&e3|$L} z!B$SP)qg07FUK)_G78d>)j-;43m@$ueisoxtw&dNhT63vg`*y;F0Hba4``0Jf6kLj ztnvzw$f6f3<9h?n%=D?$&boaVVjt>ivAF@`E5% za22kdqE5-v0oxUs3EMjcPPtbRq}^-SYY=WNz!h2#BWtYOy4VN>rn5}Mn3F5Dm3OzL zzEHr-(RjWxCi@cST6c`$E)^_R|FS#SvPh@=^x99%v^9D+ZOGdDInMvyFJZXwrpvsP zR?CglBW+8Vs`~fS4$p>EggiZ_2Hs5#MwQOj5rbOJgeAIW${|-{pZ4e#hFB$9q+J$d zpt%~WeukRxGtuVin=^Fd26bmIDxaa5pzrzjpNYlz{C~}j7lGW*^2U9?3p}lwZ(e>l zLwAow8N^e_@ZdGAMdRpOfb5{W#@2>~YN2CTS^bG(cbPmH!_<^vE&ZMUx(A zkpzA$>Af0#hK}nE*zXF^)zw&iF2*apv56?V)we)%vKkj7^H`N~iu|nxH5y)dIzC3(~XbyZ}wk2 zd$BbC3?*lu;ms5<+_-yJKfHJBxjFOl<@(bqID3UO@!e&GR$e0Mon0UJ# z=;~q-#D?~tM8zzzPoIi8mcUqLxq;@F%)rDqJ$SatsP36^W`ObRMOFScV0Cp3^^3|} zYe2W@_Gj{y=(wI;kNOumv{vx*Nc@xWGN85!2iRVp=RG&alCJ?RuE397m-^5BgNnM! z4s^wJwcx**zunc-Xt^)T%syjDOT0{?m$00VL4XnW)YG&Aj_U^{$oB zbZB5^RUp!?Znmn$Xr_W+@dNPKeZDUXRSScr9+gfAq-nhQwDFMnteDmOzXeDS_}~eH zwA!bZS7Wn)DTaW650eIWvNNC?C$k!$gM;7q=_d7yu1Nv$)0kxXm~Es+|WHkt#P-(H${v30bld+CcgwUo?vrJ9QykvCKC72 ziIwJRMF5Tc=~Bg}?29Syo?=MGiTQW3%2&u4N~K8yAjwvw7c)bYHh>-Q9XQb+eDywG zRH^%Y^_q<;2g&FQ7vWbm>CdtlOi%v%w;=h&Z%OW7+;6})eRzu?h4FE=7fausp?n0F zuNrMgazDF9qcsBzVr=cp%z1Pba33bVr;*|8MH9Iww0Uh=w@tI9Av7n5=O$Hnd!Ji^ z?wZaSsxV4Z8N?DsHuk-EUF{526%^m`rvEaqCN-;owGsMo2`gP#;{JMN?%f%>2avDs znCqY;-=SiCNvygs#d3P>sq;nN%rg|rP5>i*;y!c*uowR%x*2#DFc*RX$tM3zO538f zy6{<=tC|8)24ar!?yvDp_rqVlS1zV6g4napfHz$X4}oq~0aGwBrfUDygo8$mMYH%n z5!mIvb8ziE;ZmbZy}!br2c7G69tTuS#qz4=&9itG9&Sr>;g)yG(}cGHwtM*^bi=?iCJg+|S@=}A zBIr^p08K2!T<4jkeG8xxt9(su>E(e#Pj0CeASdg8a@v|JxGJtBd^L*!4!@BFq z$q{Zls~1$ADDCZ9_e?ulnGMiFv1_`vg_}^p)bzCLfQx_Y3K*$B8;l@N?mRn{u7ImYZi<1wx$A2W5-5r%fsy2KS z<@tEe`&y_`!ra&zK&dfWuu6zW3GGv>VyJ2D=c* zE|3b_pk-TIe{5prPvm9$tFm$To@rC_#R5}1f+^SGVC1qw;aSeeR+Il`>cFLyKVc49 zm|a_USFZnL-8Oh}>ZX=~lp`9u*c4CsMGf8wjincI7Jfd$(zaf87Pw6f(ug>Wnjd33 z61x#ou}1%4ag77K+OU0GNS!?%$oMV853FlP-Du{czfkBmIt{@I|;S=@H6DJ4r;kl?@4W*M~4>0~`LtksvB9Bmtw!&GS*b3SXqOw<1#+C8xZpWOcp8B|2as|UFMU4fMG zYNL8FSV5!3bNT1L$L83tpDMjJn5nRQitQZQbuxrXnic5)n7 zRn8y+7uT?-zx%V>*jM(WnUA)tZA)79{rpzMF6UFbgOPJ8+@ZD~x z`?y1w>$~LY`!r?K1_>6Y0yk;O z#IHSaq~=L{ytf<4KjApE97{zop^dxX8>245_3wv-R_HEn(rK4L_V3=Jm)oiW-WYWz z(&gOl?)7c=VZwJE`UU<%FphXVb2QQ`O8*ykGPdpV}Bl>hBkeDO2KJNdf)U9W` zq`fCxai!vqt#MFKAguCk@ItR~-mm3zpkZ@=L}7{a+^eTE0l@V~3m&Ykzsx_A&1$Wj zMDDjP)qRzlJ&spli5LohfgZ_&0{4oB!5QBN<@vi@b({6P1UHL%65$i&$M{!RA$E_W* z!-1P{TAGk`wgS%>1`R=L!PMDpHXfPHzhF~RU7hDmFv#?oYJNX|1@zuT+8a+t`{s#3PE}vj%|LzC zzNxT|tN5<6NrTFy=+cT={5m5zv5Fj>N zFJZ^t0^+iDxL;|K)W(o#O&DTrHo{W^;}cQxbv4zDB3k^Mj0%b^26pZhLn7@;yAO{g zTE3mXy+Ha)?w0woGJ6&jsXV$dWuRo_hY&)@q8iKe{USl9M>t`ux2H()LbJmu7b8`; zIU*W-fkDb~jiiYhPD5YViuZ2RD(Odfkr!%gKJgg>*^{EVfnefX(g}`s1{2+c^+`8v zJ|*CO>>xe)R_0i&D*QX}f2aAwNU$41(}xW*)dJ3-9n^h!!Ius1ycLfgh&}1z*6wyG z3s6mSjW?Ss>4IcKYKWC7p4nYYJy50o7|A zxj-#CzIr!oWuVHbS~^7jfHacrD6%c_5UOb49oQjdt7aV-Lty`mcC@YU-cRjVnN%X0 z6X7qDDH|#mF!ng_q&qF902@+#1 z=9hz4;>h{o8;|);HRz!&*oxIi7H%MBSm`VfADoZP_@t9({0Vky7KHZq2_%e9>=sMt z$)KMs%k6q^NQQ$-HjA!b=Ys^Cmv2>^uj>&gl*+uO&FobKX7bA zR>!>fSEqA!0?9NMUrov&^8NI_!6XH zc&!HFmzrg}q|FhnHlLkMp>*4}$$*!;P++ji9LZf=*^J#)DlQDSg~C&bC&o2+fv z1F-<=lezGBo6yZ^0Gnn?PW{V>wak&$#sDacDz_U_u&~hAITabg`N|;ov6-T~9+HbG z1<$n+fNu~uue3QkCAa7SIL9Nq2(lVHsobNi59yR_0 z#CQx_25w^>L58zpo`58pHzS=buEXDfDVU89I7GE~mz#+hr>@1&aeb|UPrbezdHPPG z+@I!kqGCN>O5M)B1r?7{>fMBrIF9OG)5K6e~ zAnLt)>@Dji7a(U)FxQz8fm$(7=pwuqrrwkm(U%=r@qeGjw;}P6njROR2<@WmM?$P= zx1w>j>k;zE{aC9-f>PIV&i1tQ-6j9~J+ToZ`}F*u5HlwnG9@kC5eH__7Gn)dgje~K zhKTWX5rZaO;tEtldqq(JNIxG4mobM8CGyO~kjB0s_A-6byrxVNEX7>0^es?DS5OMk zWB`=`HOsR8nP>k&#{l$de7xp1x`JE?_G@ML9pQp+4%M@NCN7`WQ;-!f)N51Q1%!)P zem746;`B~P4ZI2x+-s`g+N)gmg1Q$XKNV_;@}Ep1dkw|PvdIdl=q6VNqkm@&?-nt# z`NnjV`XmXbnHdO2^EvPG&)(fa+qjE-*nQuH=OCc$tK z_a&_hOBJYMR3CwkoqNb+vJhModS+v~I-g*S(%uXW3WHZo8Xn;o#+(CR75FEQasTjn zMjGkto4HTTZn}%-64j@sr-VRTA1~AuFA3)_VxK@eEFno_V9mr6|LI?*nR|#0yQ7Z2 zY6(YN?qhYm9LaBbIG8V%0K@=6!pC~I5aRid@l)K)Xct)w)YTGhT*q?Kki#A zT+RMt;CIv(%E>{kDONq5YPT8=FNVxh1Wh;_cU{(0UUzd*Q-|s~QV8p&N<6I=)M;FU z+5xWHBiw6TH2f~x}YaNQDZIm{R_?uvipsJNu<)H7K9 z3<^`2q?=KFtlRNbaXsew4z4NApFeheVZpl8lnW z_XE~48`74!$%Y4O5{?_;gm)c(kDHba^Nn1{2+O8gtoen)$X!7KO5Vq*;63VN8ttcX zxsNYj&V2j8QJ3r0l1Pm^1u~DOEAFxnpYUy%Y*wF8lHRVe8e8qr*mndwQSS$)Oi6*bvkZ&(-x@_vJzw^~QL()vs1VE*!W<7%n+!cF@65oT8v{Q? zrb6vKBtLeV5l5}-t>fJkl3y^^3-XxRIVCd>IzG`%#+d2`inVta9+ZU=EBj`wXEo{R z9dFu)jNA_{t-Wj61A6{;>F9?^53<8j%&|!W26wo$^e-nu4#nIL`7ZQ(myKzWr*QRS zV}L7f|CFy7%kdMFy9v3Xkd$Y;l*-%mj5-s_AwrH@seH2+$!@z9avN<5U*uXw*xcoH zcwWY3Y>}4Al#YKX9({4`kwT(2d0Rk#X2*$_IE&+!H(|H8&>sn^`e0yiClH939X5!UDbBq?nYBUcZ-{y^u9 z)dzwCpX+TxPl5`jH7H5@K{>i1_ewSjL-!4{lJK>n9Ipe-PAw%V(FbxJ5hepdB@Qr@ zvo&F$kF#>45WFgU-S`0-O=Ng~u+Y!z;t@) zie2QdFF>u}RB829m^(D9ChF|uO%xY90#0~8;e)7sHl{$%4jrC+CGeWHB*7X~W>+TZ z*o9CLkOZk=TS#DO1QRN(FElMU4ugJscXR#G6-p@+yDI-<4xZT`fIy%R(VOU4qBjc6_u787v{d_9xzp(sz`4wM1gJ#?B z%#ZFu)ld1j-MhopcizN54AA%zr#y&18=Bm1Ro7XA@W|~K>tYc&>KGpkAtCUCHRgwF z=YQu*82DeA$^$kdb{NiCHJaVVbJG9jEBW*iB_yyp%%`6aEp$GqKi6MfokK^%G&=Z1 zk~$+HtF#ol0Gk?x50>A?A72yX(O4TOq6={%q_ZRiynANX;QIW^5He;dHUPVX(&Ooy zO=qr#buHyzxg8i^WnSNHt>~6FB)WyoZSYkv6?#W6B%rC$rXc^Fg03+a7{g5e1h

;!?Cnvo1LmK!9=&!FR_UEei(eINY4RPMPi5<5Ri=+0x4%7S5PLvtTlb%mf zlN2!9VX~Vpf{Aq0K=I$7PdVhnS3g%RscIcA{{Pr}>!>Qbu3uOX1w^Ejl9Uz!Y3Y(u z0g(n5K4 zv9Qpo=%h1t*s;C78%iF%`#%eIB@#l{8TAoNrH#ICo2cqT7FM_orK>W1YNO!zx_Dd+ zAGodjUO3r~aH=64MZ)HtbKxq8@vVZWzJ8utT>HnZ#A-!Fg77FzQxeCu)uXfqv%_4n z)*MRPHhha+83m@gio)+Zc|Jvj+i$Q0z8wDs3D04Jn!y5GMB4J?MJ(S(DKWS}gVX%? z8q=k(=h6)WRTaPHgU)2(>->WPnZBW#M2OsZqaKnw4M&U>J=Px8^KADKEvwfroPyUq z_U>tQ9Bi$ge;*pV{~YEvr@7y#u*^$j@_1-eLpQ(GCF)Dj50yIz7N>`C1gsk!j@yG% zquzUv*6bm_^LMJ=LOV6bLoew*!As97*ZdI5*x@a~@M0ElZF^=fHnRjZC(S7$?Buly zb!Wn`d}!Tb_!GJ4sg8D~M6E%r)|`_i4@Yjrv_x@!f^XMZ>6k$cgTE7FIHjOQA-O*t z==Ad1!SE)Fz#ZrXf~XU1EEdP7L@+b}11X!{#*#hlu;+HLma*Y0^Poy#`AOaR1J&Ve zpI$b}rVmHXwzE&i+Uf9Sclx8C<5Duq&LF3eqWWU)y~Z5}*~c3v4MmFiKxH>k*`z&g z)B7x26mPlV;4e@l;68k}EKRBNxyb`LuQjZAh^!{H#9GQnsVq#p)JDAO1#)=&_46pF zHR;hGVEsLQq5kx%+1B){Ha4p-mp|0@LfL5F(wB;|edN9uk;#FHeDp2qi++T6${Pb3 z{#zmgJNcr>KNp+xjwiGHWFUvmgTn#U4bw#aD0X>x2YC-3qi9{wzd6GT^M{{9Lw|kZ zkH3Yjd~jne+cW$2TU+a5KbgGl`SCCBk(&al3`)R~U!|P-h2KUW5-!=OWKl=a;B_y* zccc9}f;ib0vYA>58IkthU~kZUF+wh&Hcaj6<}|Z5-7Up4WD2okZ@?$xojxy*nPG0g zi|}@Ktoc0i|wZ9jX2dV0Jwv({27dB`ZT6-kp<~`tjq;oy`E5)J8 zx-#gMybuvP6qC)RYT)=()Pr4{P;flpKqwRX1yB3Q6Oj3bz9KC#lzG-6>)X5hz@cwV zLWZbQ0qXx{D4$sfRisO?vWhVd{0ekw`djIi&hMM zdqTU5gXr@YHK_I0JCV`u6fR(*N^u)CRsgN55s=2pr~{`|{194do{li;c*(^x|N27zz2M#p(5PtY3H9 z;-NqYb4Y4xI}+=T`?1wRp3c}p;h);arl-uhCB&Ya(d$kX1)Wxk5Bfbq<6QZ)v325P zQWqHzP5=7yJMX}+CX7}!y%uSf)7%Og{Q!$3WKg<0}fpum&KlH)s93Z~fv* z`RxA~FX?$fT5aJ+v+UwpVk~>|8sm;pqzJ{VKD%sQeYS&9O6#87Op=hvY z!Q-MbYu92VN4|n2@t~?`-s2hLrTT%@@w;pjKo$HExEPT;<6c-hzla5_9}Hr$g+7qU4^m+Xoxp_j zm1|_j6-5)o22rb-bPMXU6%jbS9d4e3i`F>*?5tPva$gaRimypA-o{&ddBVngk5@mE z06PC}V_{`P^*|~c#O?OSHJb6(f4S0%=$}0}o>tOVw zVH0)PVoPwH$=tgxxI zA^4+Xo1Z&70;o`i#F(C5Ld=QoN8MC)i;fr`SrkK7DE}&@4>Brv$JM?=B9$_{GhL-wcQlLkw#7d@&zU6{T|?%NSVRjpSN}pT&gd zy5oEAewEF^IaL>Ny@e2EY8*l29=}HFVLPwWrXhltrkQ4pir#-YhPF+Znc%Kt-Ks_V z2F%p}jbU5c@WrF1b4W6R<+@Rzp2*7vkl4~9`SjU^3(|C0w{$*#`s)SZDOpJtO1<=F zOBnipq+M?a>K7zSqwJuLgxlW4B}<5r6vIpSB<*?6W>7Y8T~AtIHG5>Vri$OHwR?(p z|K?XBU&I##(qrNVOG+uuNhY4Q2m??g89!BSLoe^@3mHc-(_Zl0!AKw@1S|BOL~9x~V-k zZ+s|~73*Psi*2;?Ig6b4j(2UYOXj#gfza_rQGSh^Qq>0WN?KCKOdKzs&FA{jZ}({9 zX=E&OuT%cs-@w`^8oc}STq2_vqKo z$(78I{SV$UUy0e21jtKDzkhwvrur6(oPi~4-Pl5JQI3^FK+ZIgsrZj;^ij z;Y6MpI~w2)tV%I8or!k#hTD5uSWE?m-M3z#c(w`p>h%yTB+;VMs$WSy&DVP>&Y|jv zRmtZtD93VWG^JY$X$A6*kU-b$z~d9&LzP>shoe(LRMq2p;xG19qY0o%P^rNAFV1BM zJqd~1t~Iiezdl#)G#yv2yBLgOl@3p*lyVn{)!YXP^-b` zT1GqNHyx1zuLDFMREELZ{pOP%M$7s-;LY1ED$LxNgND-|&tDbK-MPUD`#dV0I;IVx zTsvvco4v>S2}&@2yVPX~d%U%7$3Y|EsBagN*-MAmf6g&+(8s3vcs{)0?RT~Hos0ZL zdLd>TrxW0-dX?sQu%n(1z& zavV0vPI0NwAdX)wYCKD?H5AtuTB{ku*erDo)c>uoI;WTXNCD>5U_vJ&iH0;Gs2N&||c}U~d|B*btD?RP&n;*T7G4!pk>g~$r zO>gyVKM68u&%ZLndI&Dn;ZBQcS_u1rl{vB^Pclr?OHUf+^k%-9^)Vsx5eJluWP)*h~YcQI}TcY>95Yt>Ch0(7+L^^r>u-Cuhd05%?L82xW z{U%;*tCt#o&ILnO+jkJQ!ORQk>C|O9y1an*8>b`Gd=Oz&D_724RqL&w%HJS$F*iHo zJPIT@8?*fDYfvP9q$;+2Zr?uAwSE5<7uLp@olBjDVI+aYe;hZRfQ)6M*?m-c!^v(w zZ~mub*aXP;eKpRb#TN0|1v97uH|f4yWSO6tONi zWcuArn=ztyx(TuAfnsy{DmT||j2-a4O>^Be;5Gj<>P!xKYBl2dN-mOswS&E`I^G>w z5pSY`+@i+J4Y?@?6Xk||CJnYPV{>SEA_1gbH#$u7b>~4C^PmQ?ja6R@gHksADnD7> zPEA$qdg4%{L#)WfX3W^zPraU>YYCtONn|`tA-ddK+G(qLLII>Duf%5MI;%)0(*wj< z%r>+u%+*@ovI`v3f2Pw!J?q(xNDt!bmObZVxOC5!gy2nfvJnh=k~JHU z+^`AzK_x9UBnVrJD>&ckIh(P*#sS3?oY%Jv*M2fQTM3G%$uN+XjiDMG*ykcN)fvXp z6*JHA(o*B6UUfNWRD)EAwJEaVG(Su0!#13g&rzuh&wHI6PPFB{?gr;4Oh+X|5L4H= zn&vt;Yz7h*=Y>)f7|2Sfy?0ZiF*gZ~{Tq9~uBIGlgm=XX_IEEJ#IFggeC9DkpW*ZV zIAxo$xzrZ-TSy)Ak#~%t)eEUX@kTqB^IxwBSI)$ z^;MK4@EFc}A2>P5H*FvB-z{A?f9dXqyZQ56WXs;zj@@l`$YVGw$s5T*Y0Qy|&zt6{ zEJ~-I+M42HEj#`zM)6d?V5m_c$@**KpLxi78%e6N;oWuAL3@IO_F8rjAerTf_rk87 z=sCx&(u4-uloeP$Tx+ega;g{l=5I|tiJk9rwqiaSrb!m%vM{8EBj1U4n4+>hK%Veu zp7W^k{%lT@d=%I`2CPjHf!{rD90Co2(?Zyj9}eP&+y7E2q7d(OF+9v{@a3 zu=|0x4%fKYxN|phk?>(x@I9j}qokPE2W=jH?6A{=fe_VrMXOoSESIIt3Mot$ND4aH zZ5l64WU3^o{@d3=?qYLLqt)z4zWb;yry-@9Qb&#(tly#9r5D{lV!RP5XzlFEhM$pOZlT#6PRS?1MUSz~>jp71{zc*`@PcgE)NnR1l9ZtLrqj?Hym zNPoO}^XH_QreVIVfma1eVl54%exaK3FY~?En~3Cf@}KuNf!LqgmB}fZAB?ee@tIUj z^V%<|JuTcTY<#Z!RVF_(4$W@1UqFg)iw5uE@f5^|!4!G6)2M>in-~SBIRNE=E#+}V z1icUA73(Fl&^b?*emjCjysDoGo)uZ7-Hbm4NOhW z9AsCn5oL^lY>FDB_1THx6U9<%({FTzm|DmaM~i?{etjS5u+rNi*mH`yKf^Qym^kT7 z^eQ|h(xSg7ZI{SWtAgrH>;0|m=P+%VYpBY+b231S+%LfC?+Jb3%za)%dvhJsIxAtB zaXCP5$g|Q}7m*GQSW8Xf-I^OO^!v%cAPP#t(N-vSI&06cAs52_pUnEE;@ldl6QNtLjDR5B@SCI+q%wgZzi6801=JKg}grK7hC173q zMkmsxZ6c~4sS$#CyEf|qv0&`MQ?Z^7xj`7e=xP1-dNq+!zYEJ$$6=eG3GTbSn5^lW zsiFIySkx#SIC5y#c9KmMuovrV@OkxV5iB;uo%7?|N+PLhlw`l%OkssbG=cq;c`{^b zi9jgN&g;g~bsF-BXS>nAYy~%V(nMBV=&Gs-#X6J~QpZ@CUC@P#_K!Zc0X3*YLRN2T z(7NP=jBP6Up`jbiozw2|t&1i#)r-ALJ5wl)fb}F~Xdn|MHFg`>BN9|^=J*e&CJ%9$ z_-vM`@QhlY8R%t<@8B4JPbOVc;On`_3e}&p4|{&u8dS&#u)m)nTr8CsNVV$&;VHG6J}(t!5Bp_eJ@=n_t&YY| zO8;qa--%^QRNm9iNhKQ0k)q_H5y~>=4IlMtkc^ z0;6w{yE(iZQ@B3;A$*>P1>2ptB1Mh%hJ&|$^y`K@+ns2g&)0!=RfW0Q_sHG!HKI0PHcw#XWvQbF6Irr8TFw80Fw41=;4_+(4B>OQ{ zGVFE~Yz#5p0I7y8(c6*tLX||%9}9(qj>Re0&C%cywLWs&Jtxx|Ps)rLD&hL(%NWBE;}w~87g3N|4R#QK#u6~3t^Ov< z=8xYzV!lCEfPc4JL2TLSWj5_i57w&Og!4Z&(M_HkENDd9EwkLus&U*548w-ZI;#&NicS6xelVv>@p{ZUqH=m zmzN@QAv^adaz6dk^u-?1>#a$GIwrMyHMGlpF4G$H!x_;h&+e%n*Wz%)+pbwev1W^L zf?mGuyq=$sYS4|h9so=2Un^SLz<)x%^O zFP*i;XRdFK4jR39ybw&tuc<0BgRsOAB~Bt^#r3K=Pd2FFPl(9MpBU91bt|<71iUPK zO{nxuVsG|_7pc>qsE)i!h+`$yLesB)&du?788N5CHk*tz&@k|@dpsf%IKWT#pG+I= z&Oy38=l6g03W=3hoiQV{Iz=iyBe**nNxfYZyuP1~zCRs3xn3$Nf8WAg3>!2IyzWAl z@~`SW8}uCmZ2yA57Us`6_6C|gJ8v$4_j`26{c|J{`fMz zW%2JobFb%e4Pv1ZFebyZ#R!~{fe_+JB_96C@+hHndgcgzJ-v)n{+;_3-P#ihQ<;h> zwR7}Q$KNb##+E2HMhc*Ov*jfwwd3KsdIFFa>A^`$TI@3UT@L%Kte0i_aWv$JnQC7G zWtI1{u%#@MlYRZIfHHC(O^&)~>CMR|yb$6%X&jP=YCv_enhf^^?dB94?V%H2u zb$IMFU6?jh);EgGmy5zIoM5ysd=O^uM|bi~@K$#3OX$2NTZK6J=ZS@bX3~>FLM;ld z^L}$pB$nIi-Q}ITpvzPjR6(}(Tkz(gxcoDnsfJlEFKCV}?Tw6)w-W+Q;nYwoAH(Y# zLJxWAuZ)w?D*$+}7+>A)G|%*ShGsaQOgi^3$0 z_t6DW{pce_L9Z+`(!PCpmar`OSI@mWsJ)AOI>R*@mx_B$Y5_|@*{Y_r*~(ITdn{7- zyK{;9*QQh`Jv>J(Y85Hc@R?;Vo9rpTLVg}{;2;lSl9u}b7XXOf_|ZgFvxARKH%2Xs zAd00hS)kRVHtW=MW>GPl-h#1n3LCW%)IuJ?c|Ur8N_@QBA^+Dh3{lHKcQ(-*0S#ey zo+N%~_wOry13kk=Apu^s1@p>tS3f%B{){Ud4R8>xa+*XMJ32P?=6%XuA1o?wdS&-+ zx$9NosBH;4`9|a8y)Om0i}W;$1;eLe;}|B5ba&9@M^IpkIA4Mdv}nk2&xKdvcCAq; zVlyV9jMyf!&B=MnjUS#y7p`2l6{R&pucS=jD-OT_fG0760HDD1ymWBj%=1a2FlaEB zX-=#)H&GN>^JzR7+YrD>*{t8#J~FKOiOC>N!-9egI4Hb^uEG)@^d0BR|Mlv7s8_%G zwY{(JqlQDG9TH?UGq@_Le8XF$i{_0#3WCu2;X(@w1$qdG5AY`L{}{V`x!2&ub={hM zmkQ9Z8T-h$Y7P-sam$fH_@v(z0G(DL6dF_rGEAq&vb%rb8d%Z(!8QE<0JbswpMY`7 zJvP`rc2m2o7=~#ca&Hqaozmjtp&hEQ9CD{xMA!s~{{-T+3i(-Nu#Wfs2{ygjWe;Yb z`h8F6SYgFaq8@gDP+Pl4Uj79$%ko=&Wn~rGz`)_=Vhwt9y zX1~323pLAyu8xZyVBJhmShwlX*eIHBKQDSsd#ErT0{CIVZ2BsM5AO&(SXjriv??=@~)eE(scM+Ahv98|}Vah*#0Xlp>d`X)W zp70Zo28%q=8OV&H0qF4+Sf4T${Ri-Zrix1?bnAUNQO;9<)lxWB>pKCPZO3}kN-iZY z0nW1<5QoLWRuSOY9s>j(Phhk!SkGO;OC+R<>sPyOaFH1bWymka{4&a=$7 zp%Zcwofv3XqySJ${!Wentm+}4X0D~PA~`sOrX9d%l0Y9H=~5!}bVp8yc9*MWY!j?aP) zFnSE&wz$52dB6pMS5VSG@(4o|3Kn(5xkgu@ws+#BfX<}anE)9Gz_S3NsacFduhIZW zHfl(QC2JHFik#O_P}eUHqtZDI=?v(IFlgSqyM{2k_COjCDVH9gR!b)Z%m7vKFK-)r zxu|>_wRV6irFRO|jNw7SnX$m}+?EO{zrq9$UWpap6^2U$Z=e;!Pq0>e@X4~EU`$np zS3EM7^p?he7`Fj2aK$sRz^dZFVXN{9G2sHLUIBl}&4oXLPoJS~O3DnsLihnf0X{N# z8%2y-IykiigCE4Gkp@7Nn@}7PK<0|~aUV!6ALto8C3%-j6Fvii~ zwr*2cCOB;=aNFQVZbRIP8QPOq&07egE@K=imxt z4L(X_{(TF7U-F$4EmYHpnFZ_LHu(2nQTMzP16TO4w*t`ef3lnZ%gFH_@P`=EGyEcf z5JlH7tr(T_&OL-aQf48tV$XZxe*#1J28i0@`{5{}cLKa>uWXPJig^21X!L_BY+00Q zx%&d>0*-3?8}zNgY}W|o0pCUg33%=sCkdW$7yMKi>`Zn=oMi4zog~@WF7Quf#x}=OhyWX|L zeDKSA^O2mWDeJl|)xJbtsW@pvELE<{kV+|Z!ZI=4OWy}spEJS zdf8*BA-{HcKO>V&~@^$WcqjLo%KN}Jg3EpcjAfIs1VZ4sP*BrV*_Me zWF2`tr$O!cM}l}R3n0!@oTua|U1sdevngG=1wYxq!uaQ3^6UEeA)HQ%oJ+?Fw4p>w z!kqfV;Sw}XAfOxJ6<`9n57Gx9Oh%Uno&*S!TQ3J=Ip>PNM^wyLi@%Phj?SMS@sAeS zG<_c`@j2TIs$E-28u7yu)wI$wTu+@sjF=Bcf$R<#Sw+C#1qRz}*6*z3zQ2x{C*ZK6 z8d9OOBf1_bb*C$7`*_|*gJ|b-PL@(yYFwe!bmjWtu;Rc+BTRHN)c7UjtzT!ro6Z3X z%USBg1U`y*?&Z`c-@k1I2+x*XDy4f|0zl$_( zfa1#!KTPOUg+-lRDQ(f>9coTp5#-^pb$uvCOes0PdA{iRk`WxSQ3TcZDIlL^_@F3y zV(c`Q0I6AKFgBB#kDVE}5H6x!9AM=ko2vUThCnNwTU;DC=RucqNM>Kej-hOmp$?mXR1G zQM1Lnixoai=j$9kC(nuX5;!U^q>*J*ZxtFKdD=D&@Y0`ssUkXI6uexlirtP>dIqhg zUkxzP`M_K-958C=-{z9hT!rtqYK|BcQZu*f4-`)=6M3xDts75F)vBy#lgo&>kLuZB zHAQnDhiu!HHH^Q-C>wyfO(P}KLDSLpsL)1r*&?rxP|B$M2eaqz#I-MJt(83*9M@Kz zSoL;0okGOCT!e5eY>>}*%C{fl;%o#e&@JlYhVt|_jKR65tuabD9n?NE{Xqm93r5$` z*+CXb`o~Q`-}f&8$GohT1Dt$0w^pS-xDIDuAA@Z1ke678{uqj*xLfa_kn{Z)BOz)z=`W z8q*~5=JV&BH>}oUl*E+z=Ug)^>;(h1i(Bp-O5#XtW#)(*^}13}nLU5^kF z4)u6l_Ya7r7$x*q#_1O)13nM6B&O?DMO``?SClUZk?QdBMkYtkvwx&ex$u z?%}38cgT6*HxS+t-W7M+lO_r3Oi4LB!|8V+bCV4;$u)EXV8TIrNKkw2696IjS{zd%5UmQAa9Q?2q|VJvMYAx0L!n9@0yf8MmNB zVYgBb$9b<~wbE2(fXfqvQyokH6Z(^xA*Qq9A6e_SJ)q$Nbwt{T<1zuTOo>7 zRx7GUJo~iv&~!6hI%G4`aC^I9e9nBUVq6`Vi1*QL`pJXE22xJrDJ}waUqLzg^Bqc| z>iOXkBUz_sJt~rMzv(}zwbnUqEo|ml$m&9!CrwCP(r~dd!!Coq5*E73SMY;6(9}bs zZ(o8~NwTrrG@vpzXicnt#R4TnrK>0Ml0k;Dm=PoaEquA=K{ikI;Z< z8734U4u*=1CQuIa%DYWlRplle_m?joPeQ1j;A$F>Z+qk=uL5J2F*uEEs2%DO1aR0&hWY{Iz-%$ zY-L-vD`0x&osqQXA3g+#KfBDn4kbP|WR(_!d5XvuXxDUmzh!LSkfrv?r1Jh_aO`3b zA#(K6uaGozeI!@qCDEH!V*d|MS-?cXtm-`hCy-kLm6FRzYp6+xS4!Psh)usyw_(4V z^(ZQ_!aUFC3`yM>V$7ynJ($Wm$g=QW3vYr>GsSB*I8Iu}_&2MKW~uQ9!J6eR>%;kr za~IxUKhd@u%V@I-^4Hnuv>9}rM%CP4@16G7(gvD#>r)0kYz$=t2`=o?CC|Q0oL(6RlPROg z0uGzZO+&?sQ=(p{IWF^F<8xc1(0IYk!IosHQExC6CnygVATsO7{-@4RG7tSW~2jz%m` zw+Hv3Qgp$PuNW~iO-@ z6DV_T4Rdjj9qtY;+$gML{~3!hr(A(a=@_{_U({5`Rjs4NM-wS|S(WGo(~F{W(qb5u zUisuBqzWp}b;@m{5CFnfwsM1H8&WPNRRIQ!ePR3_%!Wnu;T4#3_`+_{VI5dhWnie% zcTsad`~%X*ixFaZOsSrd4F~-~>wWz5y)mWhFGcD2=Aoyx1VV?2U!Sc|9pWg5 zPTasD&e;~JWj%?d!SM~F5P0>0>^@&TAaEWq?6a1y23Rp)=bDcfZnc-7z2^a`%~pkd zKC@PJUvKxxkKy5IkM%@OmSVPPhrR=f49wz9eGkTcASH~E2c%UO3?ltc)F{`D@85fF z)@I0Ek2aBxPa>#u-81x%V1oqMxP5aT=~T|sDl^rBvm3*}M$}0ho4za5w%ifQq4f*O zaTHAlfXCFpWIC1E zIv1DWxEKP~5O?_2xQ5q$7n3ux)t{2jQ8PyXH-#wX#G=jLiTKvE`$j=r=!_L`^JDy# zKP;SVe`ntep@N#?Dn|dir81BVJ z6$@>Z$LNep@~;e}6&bJlOM^}wtwcVnJek|n21<4>-;!neiECf#t;s~!$hfD-STl`J z9QxK7Ge8ERDb~`CC9hAN*%81MRUu$9tmu0#>>+2pnGY9=@`ks3M4YS!1 zCaqM-7OjPP4ccMkywCc)Eh}{-XJqn6)@nBjRU(8D!8%L{9Zp3JNA|}!vzox@h*bOl zezYmX41|5;Zd-B{U5rV0wK3LcA_Xs(+_+_bdI6e@a|;lRg{V6^gV<+%Ejz6; zqNkjL8`7%^{Ks8|ou`Jag7kmcQWSwi$L#Qj2zG6>{_rT}Rb0d!nvo%`(|O~r-xX^&}6v0>XS4^DC| z+YW4^cBPkL_xYWjPr&?NPZSG?js{bhGzX75F|#08w8yh;sN<9BB?haM=94j%(!(-j zBJ343y9OJ*Je4YQg1S9c6K)8t=KO_lehMQ%yrZj<@3d-C8i*$~bPTstgQj zoHRY0vMAbe`TXQ>hgOwH#*z@OLOSPopa7y|Ev+Zg$5qqLLJS#tV#rMu_?*X%iCL5I zYVB%z$mXIJnV0ipL$5FRH_$-UKKI8PB2)l^1*|QWCOxV^`s>Q8b0?Q@ULIA^vNc_x zB=QP3O=oXddd2J6YJ1!+tVriPv1_p21-=WQ%HBHm3yKMCIG&sC`#KQ6DnneY+`0by z2C+037JWF%ogs|IrsMm7SbH36_F5)_YHM=^Dg4`?NEN1-ay|R;u4(&KR5uB9k|ot9 zs@lvP3k)YS%TLtr&a2AlN~PcZ17Jk*%!adBAgQXb?}c@ndHuo%FDiQ2>zHTD>x~vD z&4(5EouYI3tfq5-2A?=JvZl`9oA-1${@nPL!4sJm0A=}S_jNu*awE&~Ufb0Vmdati&%7!%aT&A5W6jS zuaRRBAha9H1FB@bSPE}A13F9WH=fXR8hQlD87t7yND9Khmm>n%359~b8jzh}1fId= zuvD5zzN?}Znnpq|&J&ky-HP=HHS;pYq+A4igCsJ99-PS3r7|K*;xSBdXV4Ohf23u| zF~h7fGy>HaNaa@dnOI4tO9R*K0kT~UfsRxJhbTCmQUP*@{ z^&iws_J6uf{#$pO{3BFAz5dg}_1~<8>ru-CFw*v0<2k~j!g7*pG+&Ebtw^tdE1yBl zR~*%7*kvtd4!QzbuR7|&s`^gA_YuDMUYh$oV4+cC*#GWWTTW4bG47EymoewF;|2c_ zL~X2AX*Qf?4kG+l9h5G~Q)V40rQs!@x9(p*lpuNO%`Z>+0dEe~Q}Dn#XWg0e-#h%& zPqI>uXN7rpFDC0qn7i^2df)E{>g&T_yanw zTP@cfT&F8?+a+cX{x1Gh?*|4o7SUYMtb@F}=}0of;1W;V}Q*4r;H%p?%GvKi_{-W9@jtgk<4vlJCTm-<^dXa3zAr z&Y}x&snS+@V3uQpm!rL>pcQ?;e3YDrKP{E+ckMkbcIN=CgwjIKBh6}>88=u;iU#wo zBBove+Re&o>kPe;YW+=Yrd0e-?60+t=53L<27b7F%xM<*H26$3VvF^mjNGMHwlyaoxgBadz#Y@Ff5`#Nx z9^;MSCY?`a8Gr%@_{vL};#Ss3pV~}E#h(WSBzms2mW?MX2GD}a^%=o09_b55=n*34 zny&U;F$O35%PE{bC-FXHV|pH2+Xg15g>^f(4qyX2!t?e$Y%S6xda6_#cFIvu#fopW)Zz#axDC7dc!oSGS$Ob-a9kUFy1{7+&wS=`d!Fz|i2wzC9gA*Nt zQAOOlaOAaPf4VK;c*j%D51(K`iTd{0R}e5CcJVv(VgmcyT+q#UTZ? z(D+!J7C6l(a_GgFUEhRCeBP_PzXo@x2aY24jWcCRl9#-doD03|q zkUPaoHWupd<3x!%l(3Uv0jjOiYZov<%4UR(FUJDtXnw?+n(B>MGk}fn2!E`rzSzJ# zU%PH%S6;0kp-ka*(xa~zeqU&us&0n>6dIS5(~{Y4)n@kz6$od)tv~6rxzpi&IH9~q z1(?USH{Yn+F5B}gR`F})=IXHK{!(=DS=;j0>U$E(u3m?A5rG_DYtNSxT_y~I9`BU9 zUEgt-hG@UWzzQXZOfwP}W&l#{e<{^r6EspN%^?Rw4^LZZlQUpKlXDR)nE@>MSvXs2 z|7T9R7ioMA90yW(B6q{n96a4D|I&D`MR!u6f66x&pv1>)?)_(jy}J`e5l;QAw`%$4 zY>oaj%%3*cr$)&r7gL_lZy&A=w}c+|kqV3)!*q_lEauM_LfSzdw5b^6sEx}v*1|T$8w&8o#3t9`yy~DC`@5&t#yRb(Whun&I z$8#Pwu(b)XgPqh31sivjCkFl4blG7Dx3zEafdj}>7@~hjWEZ3za5eNDoU%7|&bN1( zWySV~wp&EDY9%d|H)lawqgeuz>h4D!23J54&i543{vQfl4<~c?9S-wT34p5eykt&i zPY)xM^jt3J+WSWI+*{ayBWInb*^-^tSEp}=dhMa|!nzfI@)VCvldOo@>kdop<&Je_ zsoacRJErHAsWz;2-A3bngX;2*<30U#HBT~)rjB@P2^U4I7SA`HI<GKm^pwOS7 zNL79B4pquSG0diq8GtgY9FcTV_Y6;W0`&eS6cBSlIW@Ue_EakPkBnwCOp3?5@TSw* zoj^S5gWvYO@is{N$?epQZ?A&ch^stL_HFk&lV&l*pO5wQ;6JN zfbO{0QLVk}u`b6qNz0P&3&b}ZR(e^+5!4sw)Lu<;`4nFy-ia58hd+?qG9;&vi%Y}R zn_>aG!a^C_F%GK#dHC2^nGfk5Nt7-n?PBxfx`vvkoBAGucAHTMTP0S!uBW^}qeo#E zd#mW~_v;{ws<&Ey)GxF{figGtlt^;1)5(G6Q`7n)VMkDh2)nP~a)!sSan!yZk-}{L6v}-fd8)+uc(U)uTdeR;1zj9LoBrijD(@ zKSLMzh_$FcnSn_JQb z4q?1wt6DuIO@G>Ke@l~mLV`KMxE`C0vM2SIDSmm!TNm7Zd z>W35k&FC-Wt{7dg^b1N*Kn39Y{s1yWas`PuL#-&dmKjBBkP*grOT!cK(f)^TA>(Zvqc@0Wki5)n&H#2|fh=rJRP|jo>FNURh1jaXPnxyCu zgwEW2v-Ha>JCzuu%&VfZQ_^M~6r5=*U4Mjd)I6C1UP#8+%Ndw+kA}@;O+&Mf*wOs& zY0zbpV=?6v|GMP^Q|go5Bb*GzL;q{G?lWf8Cw=8}x7SEGx zo>*8D^=VS727W}#LR&}=M+>>uW_ZywXFW`02OHP{q}+H;nzTeYb0~2Hs1gMj7J5fm z6xJ|$u1pO$-nmyL@fmnIO$NU!r)_Wm`K)0RjW)CVo_|`Xw}rMr5fhi+XM1J0lP<#l z+w=IN&`HA(HlWWb@6PR4*{lg<0X^l4qRt<+v9zd%VjKED2*7EL;9Q;-0%`02H*wy5 ze~4n{c4EWhX_uz`iZr*C1Vw|gKZN<<8y!z9K}XSYNxb=D4J;K$NqFxm%o$??d_@_S zTGBQp0swDJkr}~})^OU)?txefE)q2KErLsV**ZbmfBVa30N08JsHev{_(Iq{d<g>J9|;X=s-X-2o4fB#?z_u92($Dd{_GBF*fSdZk5Co3uMthZbK3ORWy*x z|I=%}fVU(WJwsQ~y?lw;zr93o`BsT?fuz{Tr+lb3`2}1*fX|( ziO=)oz=>hTSjwKi4oJpBa=D+ri}XH@-@D4Vkc39nmq!Q7)RJ%dC@z z>r#}gpwbZtj*9#Erg`|B9sp|KN2YB}Ks4lmFNbwW`>x67WrQ??k|1_Tjn<;&`<7LM zg&zzY6;ADTlqn;OOp6O31|%>94ndBj|Ql zHgp&0gjeF;mG;xGdC<^5T*hFQ>3!U|-~qtBedZJ}5u3R3K%7QK+`IiP*>muuXX4)K z#M)pl!B?8Cq|R6vTy2iJzV8*e6KgAv^A>jTGQd2lvT?hXLAP<0}B$!+K*0!df*eO+*t3JTnkmFir^%14RP7v}{$4V1>WW z2NL?J1ob4aGLx^;U@w}Nd~?6W=@|473BEjB@B`)8?1 zPqW}gKGB%2LtiI1E|d71JRFeEi_N-K!ou4p{Z2d-^K{XIWf1U@V?a_%X$^`m#M#H7 z#Eva?J`~Y1;Ins7+&{J9AI3MuTz^ziv~|`|_n~jo5?w`K+*=VT;v4{Sui@{`k|{J$ z-qM|`koT7hl)2e^T_x=n%K1%IhNRk=PMBqTAiRz$~;j7;;!0VEiFA@0rR;DB<|ZvDNqo%fhj zSWL;Tk^<>}9EU-(1G)Fbv5y#q?RT`__ljJl-7G(cU7Vy{V22dxQCQcmWhrxbbkYX- zAJ?CXWFSB+|Hc*Nk1mf^G~j!{Qd|OW;E;qqm_@~B%{Opl;Z9;TAkETzcH^L~4pDhL z<1p|T_D4XJa#}-{>AkRxuS#u|h?t5t$`^Zrw)4Mcv)^-W-M6Xd1Rl+bl(0= zp&HC)t#i;7BBqsE_B-&t^ZBcV(IRgrS43{M)Smn#2uMD4RLz=B+pZ))OfN3zmVJ4! z>ivO#{roNWqkwDgM}ZGos6K51oVohetGdBEec$1MCn7VTvXDa1mi7siq@;fAzK;j; zOjf@^j}s+a5^UevZC*QILYXHOpR^XmS8h>Ok6K0dJL!Id@0F3NJ>Kdct(DvaBl*jA z8_9OSEH=9X#UzrC4zg4njeiUw+eKbm7Id$FgTx)K&B=6C>;Nwoz9z_5A{kK$hlF=$ zmMbfdfY*QbD)se!XAbnI-ETZd*>RLf7Cas)KHaXvBNeF$5_Q;uH1m$@sx->&bwP<% zlJOhuVH(W;u~VT5P-zk`zxl&KEcY^*i@LXkB^G#)c<$W((8r4>?~LQ0ws4dcLO};d8OqPtua# zG>1Ud5^jN7gOt<)@7`yh>oos)#qeZ4bB;0RDEEC&$FN6Vb!FZ@-O*y=*>m@4gg11F zVrAa!Y!ea2Xr#BFR z0Tvsq;MQT;eR0FiGHzUB3wC*_l-DNtqwI4w!}S;0-bp~BsAb~v;c&^fp2|`}+oFBv zHPO@;#$REZ*r4bzyT*%Bs^wU++sXAA8y?jj*S>tqvxhr!oYR6w+<-H7_6kSQ#Jp@k< z@iM;)y&)w*JjMskHx68MR1HvFo{5jqc-0Q@NMe9uiswXckgCV6(Ut+eS^IToPZqmP8X-e7aGt?a!H0nF*o%Hzzfig&7$&7r|HnCc_Er|5~1Mw>* z{jKRXPMbcz>j`YF3Vu4nUpdm>Vm(ARc@MwVJJ4TtTi5kk7rg=WU<`A5B<`;WI7;_z zAN#Y5FzR?}?L=TAX?nIRG79IEKaiO8LDIpqb=k|1G$3Vo_i0CN6JKS?A@?_Ce=3b% zZ2W5Cj}9DD!sy^*e4hcQrHbMqL(Ua$EshCeuc8XY4lceceLQ zBH*QeVD`(EO7bybtJLRWW!%_}j-&-v(S3y3PZeJ)1)=z{L0kx<;_aafJ~<9ezVVYA zRp6f{RG)0cv!2tKiE{O|XcsAwzz>~)8u)eb4g3^JX(_&aD%I&YxOzhmoMZrZYu4L; zz9xF(^m53O%2XSaz&gLGN=PhR0*k9DG^>o*!wicm6ubW24ysXIx^@`YAQ-`R?|0tv zIi@=sb^kQKdDT)d%Gm8}?wqsezVWFvtnY!Y$$iSq?;j-XWXg!b&VO@2Si4laHrFQR zw{~_Wly6ay`MMgA#ZOq7?`+fRw)!x2AI^?x29M?D*g`ib-aMm~K2}Xv->{mR-5VJE-!@1QUa zZs2s|w!V1iev=~Uqw+wr%d^&JX@MijFBoDW%Ym9ktuQ$}eG zQ9Fp_P4KecvDc@2k46o~S&r{@kmz8I@6ztZ&7c zVwZ^%oqE7tShQ|VldC1y#289oH8;DF^5i}q9@5fK;8Jv%4EaE?B~8{!GxHcZ1Q@Qr zgHJgWr>EpM{jd+(1;rk43VYnS4*yib(hLnzDOvwFU!#W*wuJG}@b zC;3SMaOlNEV)xO%mCvkH?y9`KVi$LDT414J7<^Xn0T=2i)@>1|-vD3<{I@*lKP5q@ zI!Su(WeES5z}YZdzR1~d-+xc$pMG!o+Z!w+suWvsWm+w#vMuzsA4Y7q5`bgyT*5D9 zJH1Y_+?<^o!6X3~4S)kw4jve+$}EYHAJL~aVSE5+;G?dLOeEQVkze$yEZ9x?_q7~~ zJUq05KLpw`D7sPzyRW1In<1B;5&Naw@!*v)hV@ zBhchPhX=LKaBTB5+{3sI`ez$oUlVX69eopaY{d#zmlH=1X>Yd04`+9VU>40iz67i} zJpNYKQZUJI^E8v`;^AC?aw{8`1FYe|fM?t7yo4&(Ws)5KQVJIoCfmGt)cuR;S9g=? zSH`IOD;RbqOF?=5l^?m$0L!4r&lTLiimo<4ekJFtmhsyJ{I!ZWtfSxP=22$2 zl709(eo-qb1hYJW8O^GoJY7(=$x&^LfvHDrP-HhJ4VOPX+QwaaD>5%lvQL8G|jNAT58@ERwYcZJJH zRPNR>B1UM{c14YemfMm4MFJ`8uy}1 z;;?9CfKQ;p4}^9b(89g;RkbKp(}!(E#>5uKp~Y>X@_ZSNMuAwbftTrvIhCcN(!R&^ zu}f1bEORH|=!Q!AJx*RQ@ldG3pN4Cpzy|NojQ#a$=zuB3<-s;+U)0jRPXuDHgGOA;zInz|4VIk~TujTu*_ao) zBoH$~7g@yDun-*1j+#H%{jRV7ZgQaJ*zYFCZ%_E`3I8{HLI6<#!@+hR#X~8aW0cIh zts_qu3;v{cDp;cv>igc75X2^wo=>fyo^NMJXxI-8@jY}&-hSmqNvLxvq{-;9Ol^+t z_6gu0J;Y@ZLZ~&lxgucaE_7&~@e+#s3Qz#9OU2dLut4t zlJVZyA1?@92LHo{silb{T!7mr-M)}J*xo+L&bIc0+^T-XJp%u zNS$b=JHIFTf6GLx=N(QKid=fVFBW7V(MC#a3G?j!zHGum7|X2d2y6UzPV$S9NWote zoZlIq&t<`vA$xU206o+~S3cQ^YN1fR=*h-kprc<;!>Av9WW@`sk7||!|9va&yR9^! z?>~&+KcE|GSJt}~9tJrPedu%Wy}QsepdMCi$G1|G3=X?kD8dS%QzuchjOHzSU_8o| z`qY!)Tjr~}E$}YC_@*YxLv8MTdSSRZoBh#kfPX=;g+u7!acvg_xMvdv%C-wwXa?ZP7SBCX`xH> zRNWw?!AcEqVg;Xl9rP}_5yAJRgoc{?AiQw&}aaFyc*jzjMZ(-tMO zKzIoku5c2&E=h%5X!l3zx%@)e_WN1>moaHT=}ye{2b#*dtX!A6FHEBB&{yJITq$qH zs$Z>X2c)swXWf1*1u;}j`)@Q=)4!pq`d}$ygQzJqGS_etX%`i7rije7Hh!IpzOb9n zuW+hku-IEFFMa$D2;<^8wLu>w>^Gt>XVYq9egQg`|~YQZn>P5_Hd8Oy)e z>v55QFQ|yN4yysI@Ghv7XklpsvG;#m4}pm z^|@;Ro6|ang=!W6@fAtUXQ5P5`p_n|xw&YxV}vQ^vyUnQJ(f7*7Cxtsm-B^4HR?Zg zOgp$ZR@ym@>)13>G&nK_(r|9&2S+_?nI?LxZLSaIX!%YHxVN*9%s1gn>SL#~0Ak7) zNIpoGHJ>8tjkCk5K?zDjs!>m4{B= zEf<3A>R=IU8`#ApgE@BI3{m@YTUXLugxNRH$YdANL@0v9shtV2>x<@zX>M-Z&|Q=E z?A+dY-!g(xM>v~e0KKZxH){m=L3v;TaXNwq(+G;uuG429TbI}Pi0h{d4P`pu9)#c* zKxD{ycD4euX@sy$8OfM0myjP_4?H;>m$VCErf@VUOrmJV;*b?43D?r**RN{YlGko^ zuxn$Rr8E^QD||%CqMlfL3L4DR{@|^Dv^4UaV}r#9>}g-X6Bh6lON#@~ z2KWjD6$YL@w*KG+phy%kSeHFddECsvwgVN%61p4zaZ}hC<|XWAV1=OLh(DwcN`EDG zm_l(Q-)dsLebB(8jC#zubPx;)6wmp*7d47Ip@_?1nm?}^ZvW0CYw}4tpxs?-mk{1U z(S;O}zd$4pO*i3#1`LxBgJpI+63d@z>}EH!L};H%D@8Ex5x>{t!`MZ)1M_`P`6{wK zrnozG(!6x^CtlhFV<}`Ti_X(*O8%F6oEk|;8i*>!dJ7sCe zYI!!inGiEyZaWp;SSg7=c(DJ3#z2AI(z=o&`;MGehSYYtIgueKXQF^IRse1GhBdPT=#K!FRZ_6e1*!Ukx-LsvU+LE7Vz;1?77! zJ8PF0Yw-(H;RA*RxW#S}`H;lH!mr;%&l~G4@wd`5Btvg#9Wm5+ZhiwQqH>{Zk;_E0 z`w?%(O|xLY^a5CB`_ujGE9rvZRbF0h;>!TWA!`_`;laTehZDWSSkz0ir^W09S`F_JqF>FqlnW;!&aM_9Qq&Y`#oc8&zs4s1bqR|H04 zaj9e3*NS9gGV#!%tW#xDA>O)=@&)I|Mi~pi1nN*`v7q!=$=A_7?EORrK|WCLiyeO^ zeorXGAd#p`DY%@d>ldgz^uciB2@qifcy(jFE!+VGab1G7v3(hGd2=$M#k27dkd`DF z^h`X@kqZYR9dxkQZL;;I_|mLm;cmf{2jL_>3MJTKalFD^BdO?Rep_~Hkhp2)Igd^z z6VhClL7R+KGs%8=sl?d5jp&)sA!BVNTfLc%z8CP$;F&dtHmkt^9-x3AKIE zd>LWf;%ntc(k)qEX5W3nZs;pN1rV4%in^`ce9if(3PNH>Y@1h7iq+Edp&I6XFl9rV8M8%u##yJkET(R+Y%+3I%k6EkDT#4! zZx(%bJtcjx1CPF`FWALgC4oe*uitDlvj577T$&Z(3_)eHx2*A zb^|w@dUG*!k}=Dkvu{}a*e(_I^g2LSps{1XR*!IOq4TXEOH%TylUCR_BTTdtiSlKQ z;s%rD`6fyC2*5&IN7Pj7vWVx|iU2dBLEv@&@vM!0^{zQ|SVuT;d1jeniX3ADu!4Cn zf$rsqA>51W+1Xs{=Vpcd7!X#1;6ydkpaI0&K0fX4Qqc^%Ocu&4h265GrY}On7kZg& z8t-5J3w0(>OIalSF$mq7rnx$zuA#V?Piskfjoe_B z7rC%2W|VOs)!Xt9{u^@|`iM&t51Olu=yj*9b{cbk-r) zft(cIJ(FB*;cS*a9~IxA&BePXvWRk150>OJpQ*K&#Qx~;M}A0Iw+La@oOWh`-3{<_ zTJCRN@MeH8&jpfmngX6Mp5GrP%`CV)TXBSVCxuW%2~P_F_+5r~-?Q85Yb8C$Rpl0l zIffnBx&=H&LsP)0z{Am_&BnCJ?v<`3Wn6H15C24lWxjI(xowou-mCsm{sNq}8%$_t zf~m|tRC+)`l-8&J;;?-S;~^#(BZA^(CW$_7b5Mn3NdwApDbDVjRp;Z7O#_P`Q%AAO z3vDw==Z8T=>GSMd0CuSf%e=6RU2w0^=Ceu8Q1+;{F{z)6X?}Dme%Xwh4d;ZXZ>nr!Bu6`|>reNbD?B{e{1Ain z)1NFl*11!|^MjKx)ji7CRrd3yRx;0b1;G7%yZJrKZgy_0^(eQsmsj>LW}~f4=w;cv zurjWQL$bVRo+D)u!sVg}oPCJn5A{T=_$&3p(K5htpzHd+{P2%gSma(zsHB|7%SaT> zes$I6cnaq4D6DKpdYYkGl&GcEGyoP4PGmH?RqCp9Q# zWV*16j{XBT!p^;g6Z~JeC0>xnTHUl61esVS!eWo4Jb@1nRJtG(420u0>pvKr2Te6W zv{#RfE>lKhIv)AfILC7IRzJ$wo4|YIe{M=LC*_OhA;6&RDlA%i$cUkXU?Mhxn91kL zLv?}MVJ|>VCWHWaJ4_(+!ZNLZ&lso&jQr6z(LiVlKv=~zEG4~_H=}f|9BjUapxGPe zR3oeu=K`6|ynq=r^4EctLVOtV^1d_F!8AEw3SLJFdT9x}T{z4ETWK70!`W(JyWs>Z zU>ITb3iu4snu(zTPt1V(=C1_oz|bZPmSh)BGG85|;a?mF%c_ZxVVe1nD=e|3`$4%0 z5wu_&+Esb5dAwkR)4HXCweTgo{Qk#`;5mqr%s__S`Wnv-+}jSi74X?%nm3)^oq#3) zg|34*%uu%SQ2ON>zzl1`1iXlzfC(^$4yxZ8eGC{oqC3GjcJ&&8u{R)NAMOfiZwM85 zSVs>py8||bKxgQBz6Ao+SNoMK;IqxN3D|L83rzrugr;f*-3*1@^be6agm%Ax3DBHam@ zC~zbxhY9#Jx?&I}as$n3PQ8srOs$8=YJ3;#Adou3@en>(30C9p zpbl2!0amjpj?kc+X%oP<+IbgDzyO*6%3SFsNU25pd|(0qU~uJwY~+f7PcQ-f?*70V z-F=;AHP0<-kkzOmt5NjpQwt|OW>f==kUv|>P)^JiWXye)(qbp z122ceNr)rR`Rulab@IqtNk7K}bI)$`RSZF`90~R$;OE))|8rPk{#Q9$I9uaxOG~J4 zA4YI3ZoVO*M5bswyhryrJD&gQD*9X0b}CcdKW0I{RALo%tSyD7QQfCP0Be*B$|3k9 z1Iuu!l2TU8=jNu+;a4P~-6AM+>pA?N4XQD8sgo7EfyK~A-%@JSx7NG#cI@Oc&85za zfq3@TFBwOK5W-0#kKrG~(q9Uc!&>ov;iLgpv!zPHqU!8hUjl=M@x)6MeJUf&Y^ilp zN~6_twvnQRkulTdDbtvlW%BYO&YY;D$BYFYJIWz90;vS&@-Ut_4q4w^%*+7CQm+hw z5ku%A$6#___i8n+1KNrs$?OVq2}kT$;C%Ynl)aBaw8z)0F_yJnjhQ7X_k6b6=5_{m z&Zij*sw;X9xSLB^@crq=uocA*J9!@eV^a1@A=EcYj>TRlt7H(r zG4Jr5hO~>Yd)a@-sIYF+B{6p{-c6)TWFhOh(IaaywG%UL>FQdx2v{n_nnb- zI-UOS%jT^KCsFMOH*4zE9N%`{8mCqABPSJ`aVunBC|cFdqd5LvLrmuUyb`fNfoxxc zMuT|#z8;O(NZH=|V~H574pc2>%#-YEi$+}2Y_1bS?Hov(cPCKI=<|6d4~_AAIxjs4V)&a7+YAs~;6 zgwuQSAFZUJ@O0I_nsvn5H4UcjZN7TsgcZ*tb<`Td?wN2x79ivMV!WQ7_-4Q`lbBZB>A{w1 z#;O>qoACZeZUPmdEA3d#jt>76KbdJ#SHy6Q%TPu|uwK#EyKPJJG8T|;S2}dFtGIPM zYWL`S98zNF?mIYn31yTV5eF7SM<|oZ#H_X+alDJ)k!(5XiOlB}YRgIN^5UJQbk0d{KL-an^;?FDP-1wrNY# z9g?4c@e-4BenEO@QdV%WZcS+=HmK%?Ucpx`M7kMdNs|HkPp?P`s8fCRO)JXiD?Zj~ zg;_XDuB*_P_3&t}G||Q4@xF_U6(M|=avx`=u>+y(kPx0ah714U7_#TxY^KDUxC-z2 zdY(n;uiO!7*lZj|WXWzJP^cu14=gpCOeqgt6~yc*n2eW$jk){w5M48h=sz6$ z$D+coy&~K$B3}kjx)==$FC{4oC$M0l+RCi5NouM!?JslhlCr>aN;90wLgQyl{Mpu1 z#y2g5nJ#XL_G)?A3AO%yqdrxWZ?{mbw0z--u|NPfWDwjuwee7EMFKI_Wz##op@T45 zv=H1z@yen8BxM4}igm8(aB-7vx$t!Cy@t;#c@yDmRr4#wN2!3NxLZeK!GI=jtt>C^x4H)~0P zP>$|Qe;Xnt(N{R?Y47prb}Xm5?9`na$8gdgkpgt@AxCpM!?9jS^9D6V8+N`@ZCj>W ziZp%FhnHKj7ph4rg1-9~OLHij`QgH;wzG*HAxmWsa15w0I&&Y!Uh+r4RciU<&`;$P z+4!mARjh$)1bxyoGb!_fAwXTs%v?eYug`Om?!n%pc{0i4-BKm{aN|{DPk0JO(C~6V&{$Z;gui!<12%=*rXM@%{GAZYiN%P$ORN`O_ z-1kyqlkKAha`zWeC9Tp?xAqxu9o$K9@7E=tm1bUFs`3(-4F-So0~2GNSrz-fXfB0c z0o1yf5i~tJlQU}#MmFZiSwRWR92d0UqJg_qHj-N!5wq-+Jipy`>Qm_O`evcsWJsNB zuKGgy&jB!asOBtu)&$=G1)$QXqRDs%pp8s!RB-ip9}*Rq0u7J6J-iu}HxDS8ZJ`?J z@t=%T{UY&E!l+M$e5qd1{9Om|rj#2_Xv++1&)Ja-Y`Jj9sl3GCVW4pH61rM8ELOy5 zX~;@x6K1^H=g8GQNf`w4CT}<1V&WU?MMU}>%Wo=7-J>j={l+|`I2tMzvOQA3t>8eY zb2LzG6@Jg7xzNUyAKkR{@o6a-$G5TgBmyU@0`?SbM$tCnJU*Sk*;PxonRt&9ea93= z?Q5A(f!vCZn?<(!#@KB`>?hCBJGV6$A=vLv?oyYVdp7nu%{OJDeGO*z&Dgx131%>N z;LD^8SK=^=Ar64Fe4?5p9ku@vnqUT_eo1$0{zrDH10q>ec`Ybx2e$fo8RpJEOu~~JmYLF#kfwHR&R|-O zUv5`~yj*Q@J=P~luJcJePY_UR(x83%*SQYeVtK=TP$Yql2vqo`zZE4?Zl{<+iy>xt ziZCCOJk@BLHlfKc8{P?p|2VW;zkl)5ZoM<5`C$TLJ9zYnnlyh&_FJBc8TGQ7sa#2{ z<~~dyWT*=@q#XDuq?C=9%JlS_I~P?uACmjrE>dBHG*)fzmzim}6mxlClz_}WS z!H6k>Q`;SZN1rQ6OIk(-Dc zwU&~L$%^t*)r|v6zNv6gL6CquDP!NI-sSqxn4K0lB|P9z@B=;8P^Ofm)e22!{F9*3 z1G;B`>y7$X-N8<)lw=n1TP)++tBXCDG%svGw1LYt)>+|P-Q0bAB_MVPgV+IZJ|d~lxR3f5GtkzU zfobR|hzr}I9O?{s>tAYGS_V_S7pESjAzI@L%J9tmmk`Abev4g#?(OZ6fR!E^#k`Qu zQiKUZhyB0cvY@dSxO)0D_;)t)@0~wKV>?s4CbH!AVkwIbq!1P+ICeicMWePTOrWt_^EPypI`^So2WB=w5D{5Vu`;5FadvVJHxlu( z{Y5Qg?eVV;nSBL}L)qPi%TTL-Oe^l12l#?&=WS}Vb?w)qvHf6*->om5A%Y`&FXi>z z>%6MrV?j<}*yJqI1*D%nyFmCZon%@`*w~JIsiy6(_9Rx*%m_|?g5Sbx16jhzA&{;$H z(Q};ebBz&+b~xOT(GHG#0EQTi%LFYrL#kKY^Q}Fr0J>=Cq%Nss{V80I{`9b!n%m>A zv%>vLs8Cayn3T#3m77AO^yu1=2~;(JZ)ARMF@z)cziR}lUrc$y&ewGjQ29O3%5}1~ z`@zQM&FCMzpbRl77uxAx{^FYP?0n8m8{h&-z@N6Qf!4+b#6E^jh>4^XYTH0}rHqef zcXx#H&<%fe*e4O0^jHGB{Fr$6QM$Jf5Ll?%!=bj7)*oS9YXz`NAO)Z$F8F1M_gh$w zAdx%}VoO*+80;%Ft9Ucma|-@sKicuS=z>3g3>8>k*AKl8P*zUpL*(xen330+6Z1_3 z#e%+LlDwpbtB^))7Q$4%$kc(YQ--#6Ub4QZ3opruUh=_DFZo?zj@kwMsoW-=eUd5w z7YW8Q>b!H605nwyJsbx zGvK((v?R726P`u~gbKgo(cFG-nIM2*3i}LM3Nj&(+MOt*Y`Gm;y6R@9#Q}1D6Sk9^ zyBA>F-L6f2ntEULpJ(CV2fPHt-si3<4}rKjFNgcK4aFBm{SOt1e z8(}-RE@uc@r2UX`dui>1lskfYaEg;DuOR8~r9zdAZv8K84KH~!5TJ%C2ii0iO+F}s z&T(%AbToK?7`6NY;7k4VovWqfTZ#6S?M@ToF%z*1pUJ_fQk$Gn&f7MT7!LTv1D`1q zt)*@5Z30LJz2-hB$9jg(@rjTi-jjkCkcxK#@r&!ATEw4uIhP+W@}N!%shpu}ST3OW z%g>@UojgtqZTo>X%Y(X%yn^kk_uJbl5B4-@(X@3aC`H~b`FSh9bJd>5)@6;RDE&S# z8+WDjNA1>OX{sp%R05Lfuct&NW%G#X*UgEyJg6Av0P$9UcgGs!!K9U|D)~j|DHwtJ z=rB?W<;@t*S1}S_NoPsrggaf&{|nZNv?BUJaqsr_jqN%mdk?Fruz*J^B`WC?YwQ7li z25qqiKo!RmLr`dKOtWy~nb4$dN@mxoiFyQoI0;302LR}Uj`|kk4}c;ac0g&|Oj5XA zcJp?AuXm5b9RcNK=&^igbTr~Sj&x)tct94&v1UKlmbkMbU=P5uEp^$VpstogZROi0 zU1H|}?f(PRs@$fhm&$ZI+>E_CKc&M(fs#4bSGBt<Q3FtjuCqLPVEyv6ACezo24PwyCgdI`?*aOb zT#FOr7R>f&+!pOzBireWTQ(vWLYZQh*xcByvlS4Mp6h%PCOJ@$Go0NTe1t{u&qhZU zIJMg$fhZX48i0_)6k>{^*N*34br1y}uqn$6C0rokww~IAI}bOgF3ogch8FeYYx4t{ zBnpI#K*1?yCJ|HeU*uKtkn+e6bnk+c2LliHlX5%;6A0V^WC&!6Lp=NxwP|%?FBk$c znyca|K@hE0z%U~M)Bw%_6;A|Cxmpx27O^7WG_@f&SpVNQ z~^{Z7M_g9joZ3)o} zl_!ByYf0_ko%kss_%50FoA^R?v;TJzUyj{tdjdCuAiA8C1qavPir2sM5t^v>|0x!j z9CSSNU8sa#vy)1~jWG~Bf*-QJ+1a$~JJa`XMe&C;cRRbv8^XjLx=O;2NuLZ41Psy1 zZn~@`Vep;oyXP=kc5Ob;^W+Ed_iqNN7WH(KwlPED z>)W*#wsIPJF^NEPui}WqhhvrBxxasFxHLkkjJF+La)ln}r7wOrL`J6>{t0z}%JqH#AhZTrQemE5Qcz$5;90e&yQZx8t8QiI=H(C;mXD$Mfx z4ETTQA)G13>i9zo;O7I`_oD<=C*(3&Lk6(=vJeGau`cUP&aH*(9*Z|Hda!MJYLUwc z>_j;3C9ad4fPAp~9$hS^;+2@hHKjdtvatZA2+J!JL-$;Ya*qiWSO|_nrr?g^5Ar3c z^YEM%0e88^7V}=6DThRphxRArC%1aHLV&=u`XED2`UQyx#eod)6R~V^m7vrCGJglL z+4(*au}XuqA!SptGk~AK@Qi&-D7yTk80Y|@2qc1V(h5n2C|R$p#l1XM4Rjp<@LNIt zdVekTMi)jH(!n=xU+<^0L=lBY)d?eN9KbfVc=qT6@ms~DwcQ?nKq}ta`Udh~L|)qz zs4_SVjFmq0&Lh70i2e^Zw||-27gbOT*C?%jH@+^BeXt$kn-u{O{%g!-=vLC@(L?-1 zHb{amz^AePWSVY(vgD1fjnFcibe)D`KHCP>m8>O}XSsQf#Q_P1_06$j1K?xRmm3vN zkni)n>tVm|5WrsxXd@0kt+QyHy1K62ZnW=RM@Rn& zMhW9r)5GjT0U8m8Z)mK@qXGYd6)F*A~qu%ulpI zgAY(ulTk!;w@|tZ39Fcm&>zIs#H2i6Wb*(yCN!oD=G1e67bG>-M+v>aTJe6x&$bqYZU3vgZ;>ghFyVj#&MyFebB%Ty*6kG zgV{X-?^{uLI5o1k8y1ow)<{hh#huvtjGcOl?+ zA;7xq|EIM`YT}6W!0ST8zwU+mOF*{mAp@f%=G{;Fi+_o-QH33W9u5U$-e6F6R0d_o zt2dl}k%9b6cMCEclqRS_H9OcG1SW5;?Y^+(nb9w5ls|OFP=0{Y5{|m#FU(1xbNLJn zW9P4;m_KyYAUQ){Z=m15-g<*Hv`t?sMQlI(;TOrs-$VX>=_{>MKvQ%3|N1QNehi7E zNLKp2V{xmgt&>+jtoZ+`P6FJJ9tFT1M7}>-?6 zhKZfSlpx)*o2FM-x9&!AB%efW;kJn?bWIR3G^X;}!$+__;_HtSk6-wB%NWECEVoeG zC!gRlY9#;RKuM?_HEN+MvH@%JPL%Aeyu{u?Ai8i|D(EkF03uQdfNF9V@({XZHWRau znGRw&K~44(^COM`%2)@g5;VyzDm)^2Ap#kM9NkM^#siSIgR~%YYo>Yi_ABc6Wdq$3 z-My@(uCUE#;!%eYyB@GA`3MVzHiUGz$VhQSe-*C9=#0MTxcz}`61V?V}}DP)AG-_F`Z=_4M6@ZWUR^$=G9RulNpCeBa4ld< zsaK}K{cY}%0_c{VyJ;Th+&lgV$m4wRFdbpWXM_`#hv1szwl}l zRp}vPx=u&f~!vWgifq_wff-Da(;h@2JOIpXT z23Tnw4ft<~qNO1EvuChJw_|&ocUqwps1;)O4C)Psjrg~&$f7fp5|s~st=ucHl5RCB%&NbC2sfpNlVl3})jGjG?G|GPY?}%Y)Ldng zXSY*_bqa6~gGbP%nFz$x${Ays5bI=}3ml?Sq^{+DYO4Ih;`82X+g}u!FEko=wAf7| zDwVw27p|Bt1v=-=n!chyIkjDyn$95Im zWjMmpgmwg3Zm_ufU6uO*ea^81?Lylu6Bmqg{81|7o zQT#Z*V@X20BX}tUI~!876R{8u0KuFQq^PuX-PU$7Y~{*byoRAH7JurkWvyEDA29qv z%z0BW1^)bcZz{yl(lnsI^yiJKNEBR{4c=+e{=zZ>&iRqqp1F_A|xK+b`l#!XT7>i;b9omGwG(4vq)_xq+|T6KgsL-2r7f zJNvEAKGecs3A14Y20>6%%hXMrZ@!G+O*4-Y_hAXIfsg$#R#no7SJ%{cs;4)x_rE~) z4Lr&vCe1%pCJM?Je6#@-jH>y}wM46e{&4%X^21qLv-OyzdM>q21v+7l7ZjCikBZ#2 zx+YAf$Y}$MsZL#AHjHE`U@C4jY(wRL_0{_=$ak8$;oP|piG09YcL;Dy8+Zb;W!9hR zAy+Be5;=j2i)+a_MHJ*qr1WV{fz(1QR}E%#afAfSZOY=D`M7x)ev~K!`iBU*c$jiId|*T7GSJlAq0#Wrbg|_iT$z zDzk=135VPQ5G;YiE9gc^iotgc@DWXe(UN04h!Rt;1Z*2fuL#X{_clhK#d>JurGXklHSE4 z?^Z#S=}lxeT)y5vJdk5Yn2nbVo;Q8g@tp@IuTVyySKh9%t<5NL*#ir=Apm}z;f60g%u|a{9D8f7HV9;1O|AhHoc z9P0?1M>qAgz~>q?YqEk!>6%`_7Jm03M^Q2TDV6L*Ot#e0JW{7k2YrvBp$KQ;X?Mbc zvB!jIq38UoQbv(zHfitX^9U>6d*%xOPS+BbH)vvYus*5t!Y)%yJyE8c?wMp|`MsD( zft@p>YtkCr@piloa>pHDOe&9u_Mw=H4!I+@7;zi8U%eOoI)CV0k#$`)TIKUTb| zlm+xI$JNIb10JuwG`ql8GF~Crao_3~A>0QP^Mb=9i*on)jemV>PHCLrt8hXN=-e`g z`cd6%b)nUdNA{tnRWJ%KEpzur0jKRgQ&!>48`L8x@lP_&-OmG@j+o{OnN5+?JP!QP-0Ky@f>H44osikgG=U!K3!tCHvNieK|Nd{r!ty!0w=ovZe#jKYCqqXrF?d-Vdk?OQ$ns}lgS@u`HsL|aRM^&m}k}oOki%o)Dz_EdXU&t zdi?ipJK#n_3_r@kuwX36)w%=pdbD64zt6ijorv?c2|syDm8y|Ef>xTUNi&umWIt%4 zF$KyX*rGxZq#QP>oh-M)%rrZ|4QA@2Zhm~(^WplEz_6u-^eQQ@8x2ki%JzAl7TjC> z1;)2R)om?|$v_-@ao}4Xy1U^S2Z|KkkDUiT2j^ejfQPF`Ll6<)n@Jm6FnCeJ+aPyJ zBqta}gh0Qu1O-wi{7`{v7YRm3T%)&~H!~^2oFMsZUU^ixw&TUbqYU>BXLstRMPM=v z_w3ylyDV7!6W5-#_CbhvSTGnfIzYLZ+W!W@&vD+cZ3jJ7^wNGBaL`v_-!hU$ z;YY$GYzrx64<<+=n)ynt6Pc6qXF>R{hw(z$Jw0bp)Lc(S_LHeTA_Oy|D@5CyKpuN} z7B{>++gZ@P@usmLNJyB2M%ETw+oG zLXG;>vK+G_i^c!a_53`ZH4Nd%M4$0vf1-m>}nJry)4w%)Ww$i4>J_9|wEB%dz2@uz62v8T6M=a$N8hKIC`L zt-?SuV4VE|Y-*9uMA4>p0c~nsLt4lurvYwgX}X2yxS7T3miFUtp@6rI!G?eg9`t>M zbS89MS-|U*#XUz|VnaY1wiw7Zsl_d!6@OPd-El=%DK3Q$w(#tH{3Wo{b-Uu&<*E9O zLc7i3=^VP6m7D9fAdBs`3cDm7b<(Vaz9kmNq03T=rZnk2#h{3K(VJMby4^l3kFEj&cDVD$i)0bZVjO%rB*)1Z~F#^yGj{3#nG4Z zJ-9*G_9mROG~lgJdV#-k$+zth@XEZ@p^z_(aNrL67k@)T@6qc<_la&dR1$W3HE81s zW6{3|b+^0E_X5|UjP|N!GJ*Z*^8oPAladWe@UEvq;kXLq{InNMB_KmfzAISLej)Cz zJ0KED*CNX>CV&{EP@ObPWwuV$6k50lD5>=_G-iR~d@A(?CLC35QEIvs-XL0-yB>YX z7FM?+d%px~>OTc2=7y9U4bU$U0qeiKI7Ivemk2!NLTja42@;D+LIju|3U4lmRWe); zf&uB@d2@_y$CB|qt4bRDPhf1J(r-V7{LIpNwN5V}3KoPmH^}4gG z5g$;ssk5&>y>!tPj$!oun(WkYG`7vKxIBs9fhhae8|d$kI%Rg4o@P2u!Ulf?aHID% zJU(&@9Y}Xzel&g5k@t2pT-bU_T|6aFsg?G1JA9XsWWal5nd<7>k^|xKq9SqZcqiI* zonY7Nwy0;4fbF=u;i!ETJ7B-cod$whaJ}T_TgNB zyfAcwue?J6a-0#(5%XqJ?{d6DzEU+zMy9#j8XkW-Yyp%?8Lqzs%el{8evW;I63udo z)vT}5musV^KTnoG(sa(-!4j;pw!_kbjsWZmI+A*-X18c>d)r0EfGNNY?TM}N!=Nu9 zv>W_yXe{_V6se1kB1<^BQT(!!C~aj^3WkmL2V7-CmT;6^3>hXnOeVX2Fmi!g$Pn`K z8+H7#6rUInq~?O?$>KUZo&Y)Yat7qe{kHw_s{II zi-A?};D>FYV&yk!Gy}Am&onG810RlnJ$b_M9@!4Ya4H(!md2nL+I=5>!R%5E+|uGf zGoG;-|BbMo)U_fd#-OWArePDz&T&hPhF3oU?|aMX;q?^(479a6n!&tHN$4d!f8WmF z_ta1n2E@(z9wJdCGfpraTD`66`+!msfmXSDE!wAcT=zk_Px%Sh*rF3V4d9P&oK_Ov zEL;@1T{D;Z!kJ@yq;HIWqUkyRY~mxlvh>I$^k$u<0R85n9Xo6Wozc#wSY zQCQlmLTV`f%7!f`tMGCvPRX0Lw8MonMzZiRGMtf7P)mkFX&gJB==p>2@a@`4!sdsW zY|hdfpws{IqU{^C-t~;9UZB(PaHRz>PeHyMBBrQvD8RDqP=(VZ*~?Hoz;Qk8G^uav zHek534eUlN$v_wF8lb+|wi><*71O%o4#F@ys#Jr2FjzC52gEQ1jLr>Ml6Vw_=sFG} zfm=Z^0L9%bpie@k&4?`Fm=Ao%7wrYU_j-1tkpip0%|g}293CACZI;l9y&$jRLi@hU z%w^!;hQjgeSDw-cH@YxnnJNiqFG*#gU3)7G6BgjO!@O-~;+M zTj7ZpZo*C$cCF_O@~bFVe&?4qaPsQHxdD@6blSBLgi4Ii&PV=K{u%yYg9@yWWAZf{ zbRoq0i{cPr-~=t^Ml6z)5?!Sl{{A z+H{s+Xp8*&)PZIQ^&}o}J!cC+gyM4p&(3 z3=CdQ^*i*AmoY^G7ba3?O|$eQdkhta2gaq_h3?;GSO?jt{ECOvSmi3b>TP`;n=N%L zw6DvL?9)48wth8C{B3;>^mfJ9Ahywa2Gudx2)4pTpqU|lxA;D7PpudVc9NxE3&!Bb zt-VVXEv5>PMZ&2qE`gQd^fXu^^{~ks;fKip!_ry}v#j|L27Qq$#{?cbiE8Ty5ZzTx zrmbP_PN|}cKJ}_|pRcoma77Ki#FvmOx!9XSU`(ntR7l2;OUjvMip{?>PQC z*d*@2pZxojl{K%Ha9WD&!X~HeZrNyH(0ceWw?W)xeSX93i(#h+%KA5)IKGi%t(UnN z&nf=nJ5OC^-dr9SxMQ8oqs-=nwj_mwWa3onsCP|uvv-&*9z-Kt;hw{I^Xg+)FX$*2%ig;Y&lLt(1n{?nbt9&dvB zZ>dV0K(bI3n`X9vYClJx_szP7C1)?|8gxLM^d(?F&>U%pg{tc3A~4Dq>=zP`_j$7~ zz}@fhuVs=`PJ1o&B$}nRj}NwGq&@OD`bBf~yvf%6uFD6tF&Kbz=F!1Z?mddG1`Q1z zC3ZvWZ__BQP^44iV)T`;$gyj^cd2l=@o^O}*dO&)J-FRI5j*qDYUbdhME4IPZFqMN zpJ~%tb(_ZI6Z@=c_=|c0zFW`peW3GBesJ&Dr`7X*%VG+c1qc^n{kLQnRM{a-*$nDW zh+E*WlsT92Z9J@Y>asm|vYg(2Z~=i9X43`eoZQh(I~#*qP%Nf~ul_tCH}jOtg7b#) zO@4oi=%Q#GoFy&+MI9K`+FA+{yo(DJmvrVsX+kp0_hHj85`KAUBnvL;38-eQz}=9x zYq^8i?n72OcQZ`q2J}9`d#tJGt%-T0YlOETOccNmH2nC1{QIZ~Fvf#^p$Ek+pXfO= z;gf*srs-fhz;+Q4r1ce6N`P$f+^Hujx?>l|6_Ta=R zueqM6H5DCGsqV~_1C63-1$$?O4e)NmyqxjGL88ik`xGxez4eZb^ywtJha z-f$iZn~;M;KoJk4S{sH{q6dX5r?~qTmYlyy$0Ae2t~_Q-+1QHAM{7OU3@Inn7bFiA zc1XAnkuo~?iB{hXQ>JmF#|~@F)b>}-F(Qq37fnEdP98Kz4g^t7f-DIy;lG6=J;c_eecT%LTZO33Z#{J3TMTcv~spM7&~ zhb)JrcKpb2N1;N>LQQ^_Gr8t!RE3{up3^zG!Btk_3etCZlH7}R&)H9*Hdof9p=!c6 zOSq9JPWk&_csEIcO~vWPjn34zyoF2S{FR==Xii;ujqV(KE?TF3bGJcRM2*Az#e{@B z!RSX3(T?45JA8-6E0kFi;#H%b&so*tCR_fG_O3jt$t#O1V$nfmaRCbog-)R|LMyVW z5FJ4j*@_eqQ$?mCvP2GH3xqJrAj;-8C?Eu-fD20%i3k!zBk0%?3dSHH3|hd11Y$`- zOi1W`Aylg8%sKOK`|(!}FE97L_wMq$_kG{JhjcbX6_f13M0YBx>C(d_;&92?9qenF zh2~_YlZ>~1Sm?lkd&`{-MP2`<5&E5?P7tA~dTC`KZ3)$Dc(W+7cm8=xeFdbX8`mQ% z(Rn8|dZBjLHWi!X-5bFM-`k9oZsY5tkOfV_9RxmqP^(1Fui?2#0 zDL+-eVDgHD4i$bUqz@>vpnQkuA;B$jMi&=f!)gdIqhDJmPK-;olE2>OoF5-5ki$Kd zJ5|!)wUfke)-c+6JEA^9(oLS|JKra!-Cj)f5;Yh0H(76j?Ax)<97pbz<{w(2X2C8> zZvsGI9hG5Nlyx59!4Vu%Dy_PU@IbZpBX68eLC}@2k-xcw^okeAu#|RR?q;S`I@!gt zxKMM#zjBWarzT)qMi*4!DE*fGH-n-LZ~hC_PJ^Yw`P8ELd?yI~%fl3+{DJWk8h)XP z3g?T?lS$9X6gDG4LrQ;jnmt60XgN{slJQLspU^^~^BE5GrT?F%=&wC+-T7%PhvuO% zDbLWeTAf71#dMfWDb8|~<@hE+>P}izxfxCM^rK_^x zOPsf#gFYZVuKAhA^GtyjL?^q}Mc=l8lNB!oH3sIGkV@OtXe!3-E3l2&;hZ2aJLcO4 zbyIJVSlj_li3_h~u|a1=Kuub!tI^)5!Q~w2mST99D34*6!+mjtP#}1dKl1E5)O<^j zCR3 zjO_kj;9%qNNaAj#SN6Tw)A&S$+vhA}QcDX6^n@e-Ibl|GVYE)3jra-|kz$g1*@tu* z#L`;MQ(v!DaeExknZ%CuHFCl-=(*R%SpK2_+6cSa%WvffTvi=apY~+ouAP1WOt&NI zXKvoKfW25V*QJ7j>MI$4p*_7T=PmL1L)1-EDfdxdn?1BiE2^9{qgTwa`gHjNBgLr| zWU>zln#E~Y`%x~Al!@$0&w4tB+Lypj-HlRN)Bd{eED(6X^^Z|Yp-LNAR`UaL1JE;Q z6owo;tYClhQDL5@b2M%Mb4+@{1GX-n*v^%0-61f~tg1u*Es4tEZhLMKU1Yxpfp ze9&$1l}!m$Sj=BOts*r6e*Tb>P**y(M~|{$E&9v78QF*9k?%Y@KYxv`YepB8fH1?8 zSuBlRcuJ@A7Fi~4b^y!fVNr$ua%0nV6EWoBJ)czLi<0Fd`?Nx?_AQhtCYmUc-g!Vt z1t)48eEgN!Pvk-$KQ01F7qq<@o^BFPpmbkFiCgkf@)5RHN9IcF7A_s?>~Y*Ro7PWO zPwC-_KJ^k!JuN2xa=Lt+I(4zCK~aAzxHWsg(5~-Du;bu4-!$eXu$%#^4J`1Bu>mR8 zMpB%b$wNNXXRZtHN?I$BHs7t17JKH@)3>1m_x~0A?d`rsn}`=uX~_LPVrSTxZSpQb;SE-Ur_tN7Z5{bGVQF2gkm|_Z@4tlm zX2Qqx*t(1^C{SH48*L&;Wd2oq^V+2M0v-&nhFB*X*PoGEHcI8cu7@XI95jV;MP9UR zEJ`fc!}9ExSA*Xz#{IMGWGYw)NS=CFLD5cJjWpOFx{?hQA0k6LGGDj{a&3yFbB2h& zJT}XrpIZ{5BkP=!gw_w{vZuUv+ql_G?V{&e1&)pfm#YmLs@bTKt#tG2DbED)=n0Hk z1m~Vv4#7wDbs#SXKdz`nT7XxPh0^HA)&^&-{| z*iZXqh)!58{%q`MuY-Qj!&-}v<`2@Sk?w)C@aJRr@1eh>yB>M;@_GP_H%uuCO{!Po z#ONx+hVjI>vbejiRs}Nyp?g%fh*8yiBgU@Ey(WaYI#AF79mYJ$kci8gs6JWFKQ^e-ETq5Fmoi1$0vNA9g#sXLM zZcE*3&Z#0<|CCds;J#)kKwA!PJo^|@z z=P;rDPKwE;@db;}TkI}dZu}I8(i89%WAAeSj<3|MMd2a|;8|mqDMYar#pw}jHVZK5 z^h1LOz}f`=ydTwlBU%=x^Eax^L+{(`1cnP&Kc(x!#a-Zw|be?#)GiPc0 z_N|+DVc_6TgQ2G3;0$yG7@7%aaOLqZ2nm%y@!bd@#aUo?2LJx{rFAO+&l^^;e*4F) z53}I53KGAY{%AKOnxg8yhQRE1w9xcfr|{ueFkteQfj#KP{(V+wW9bjZumw(sEANg# z70O^II2{pwAc&ZVPDhg;XqqvmgVO;!W@Kg?Va!cneo*C8W`O|AiegrDww0I`4GgMb zVEcXV2~vV#Q4EV>@!%})3BfQ1wlT2%JBd&#$o~f05(?kf#_6t`hVdNu+wS7IwQ9@$ GqrU>w9lOB* literal 0 HcmV?d00001 diff --git a/examples/angular/study_regulations/ui.lp b/examples/angular/study_regulations/ui.lp new file mode 100644 index 00000000..db390332 --- /dev/null +++ b/examples/angular/study_regulations/ui.lp @@ -0,0 +1,57 @@ +semester(1..n). + +elem(w, window, root). +attr(w, flex_direction, row). + + elem(s(I), container, w):-semester(I). + attr(s(I), order, I):-semester(I). + + elem(s_t(I), container, s(I)):-semester(I). + attr(s_t(I), order, 1):-semester(I). + attr(s_t(I), class, ("bg-primary";"bg-opacity-50";"fw-bold";"p-2";"m-1")):-semester(I). + + elem(s_l(I), label, s_t(I)):-semester(I). + attr(s_l(I), label, @concat("Semester ",I)):-semester(I). + attr(s_l(I), order, 1):-semester(I). + + elem(s_dd(I), dropdown_menu, s_t(I)):-semester(I). + attr(s_dd(I), order, 2):-semester(I). + attr(s_dd(I), selected, "Assign module"):-semester(I). + attr(s_dd(I), class, ("btn-sm";"btn-info")):-semester(I). + + elem(s_ddi(I,E), dropdown_menu_item, s_dd(I)):-_any(in(E,s(I))), not _all(in(E,s(I))). + attr(s_ddi(I,E), label, E):-_any(in(E,s(I))), not _all(in(E,s(I))). + when(s_ddi(I,E), click, call, add_assumption(in(E,s(I)))):-_any(in(E,s(I))), not _all(in(E,s(I))). + + elem(s_modules(I), container, s(I)):-semester(I). + attr(s_modules(I), class, ("bg-white")):-semester(I). + attr(s_modules(I), order, 2):-semester(I). + + shown_module(E,I):-_all(in(E,s(I))). + shown_module(E,I):-in(E,s(I)),_clinguin_browsing. + + elem(s_module(I,E), container, s_modules(I)):-shown_module(E,I). + attr(s_module(I,E), height, C*10):-shown_module(E,I), map(c,E,C). + attr(s_module(I,E), class, ("bg-info";"bg-opacity-50"; + "d-flex";"flex-row";"justify-content-between";"align-items-center"; + "p-2";"m-1")):-shown_module(E,I). + + elem(s_module_l(I,E), label, s_module(I,E)):-shown_module(E,I). + attr(s_module_l(I,E), label, E):-shown_module(E,I). + + elem(s_module_b(I,E), button, s_module(I,E)):-_clinguin_assume(in(E,s(I))). + attr(s_module_b(I,E), icon, "fa-times"):-_clinguin_assume(in(E,s(I))). + attr(s_module_b(I,E), class, ("btn-sm";"btn-outline")):-_clinguin_assume(in(E,s(I))). + when(s_module_b(I,E), click, call, remove_assumption(in(E,s(I)))):-_clinguin_assume(in(E,s(I))). + + +elem(menu_bar, menu_bar, w). +attr(menu_bar, title, "Study Regulations"). +attr(menu_bar, icon, "fa-graduation-cap"). + +elem(menu_bar_next, button, menu_bar). +attr(menu_bar_next, label, "Next"). +attr(menu_bar_next, icon, "fa-forward-step"). +when(menu_bar_next, click, call, next_solution). + + From 55a94baff9772e06b0f417210814c67a733b042f Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 29 Apr 2024 12:30:42 -0600 Subject: [PATCH 22/61] Logger --- angular_frontend/src/app/draw-frontend.service.ts | 13 +++++++++++++ .../src/app/window/window.component.html | 11 ++++++++--- angular_frontend/src/styles.scss | 12 ++++++++++++ .../clinguin_angular_frontend/assets/config.json | 5 ++++- .../clinguin_angular_frontend/index.html | 4 ++-- ...b4abae7e705ee4da.js => main.0cf53d8b0e1a302e.js} | 2 +- ...8c8c825da6c0.css => styles.89168e8acd1e2c30.css} | 2 +- .../server/application/backends/clingo_backend.py | 5 ++++- clinguin/server/presentation/endpoints.py | 2 ++ docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 12 files changed, 50 insertions(+), 12 deletions(-) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{main.b4abae7e705ee4da.js => main.0cf53d8b0e1a302e.js} (51%) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{styles.60758c8c825da6c0.css => styles.89168e8acd1e2c30.css} (99%) diff --git a/angular_frontend/src/app/draw-frontend.service.ts b/angular_frontend/src/app/draw-frontend.service.ts index 287d8a78..53d2d119 100644 --- a/angular_frontend/src/app/draw-frontend.service.ts +++ b/angular_frontend/src/app/draw-frontend.service.ts @@ -8,6 +8,8 @@ import { Subject } from 'rxjs'; import { HttpService } from './http.service'; import { ServerRequest } from './types/server-request'; import { ContextService } from './context.service'; +import { LocatorService } from './locator.service'; +import { ElementLookupDto, ElementLookupService } from './element-lookup.service'; @Injectable({ providedIn: 'root' @@ -27,25 +29,36 @@ export class DrawFrontendService { } initialGet(): void { + let loader = document.getElementById("loader") + + loader?.removeAttribute("hidden") + this.httpService.get().subscribe( { next: (data: ElementDto) => { this.lastData = data this.frontendJson.next(data) + loader?.setAttribute("hidden", "true") } }) + } policyPost(callback: WhenDto): void { let context = this.contextService.getContext() + let loader = document.getElementById("loader") + loader?.removeAttribute("hidden") + this.httpService.post(callback.policy, context).subscribe( { next: (data: ElementDto) => { this.lastData = data this.frontendJson.next(data) + loader?.setAttribute("hidden", "true") } }) + } uncheckedPost(serverRequest: ServerRequest): void { diff --git a/angular_frontend/src/app/window/window.component.html b/angular_frontend/src/app/window/window.component.html index 1ce17bc1..562ff649 100644 --- a/angular_frontend/src/app/window/window.component.html +++ b/angular_frontend/src/app/window/window.component.html @@ -1,9 +1,14 @@ -
+
+
+
+
+
- - \ No newline at end of file + \ No newline at end of file diff --git a/angular_frontend/src/styles.scss b/angular_frontend/src/styles.scss index 73b110a3..0c6b7a58 100644 --- a/angular_frontend/src/styles.scss +++ b/angular_frontend/src/styles.scss @@ -16,3 +16,15 @@ $light: #F4F5F7; /* Importing Bootstrap SCSS file. */ @import 'bootstrap/scss/bootstrap'; + +.myspinner { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 9999; + display: flex; + justify-content: end; + align-items: end; +} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..25131302 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverUrl":"http://localhost", + "serverPort":"8000" +} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index a8c9b0a0..5fc2c726 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -8,8 +8,8 @@ - + - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js similarity index 51% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js index e8976a7e..d8fa56a9 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.b4abae7e705ee4da.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-info","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css similarity index 99% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css index 37ec3a42..cc962e3f 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.60758c8c825da6c0.css +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css @@ -2,4 +2,4 @@ * Bootstrap v5.3.1 (https://getbootstrap.com/) * Copyright 2011-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.myspinner{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;justify-content:end;align-items:end} diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 97a8b76e..ed00d851 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -524,6 +524,9 @@ def next_solution(self, opt_mode="ignore"): Arguments: opt_mode: The clingo optimization mode, bu default is 'ignore', to browse only optimal models use 'optN' """ + import time + + time.sleep(2) if self._ctl.configuration.solve.opt_mode != opt_mode: self._logger.debug("Ended browsing since opt mode changed") self._outdate() @@ -540,7 +543,7 @@ def next_solution(self, opt_mode="ignore"): try: model = next(self._iterator) while optimizing and not model.optimality_proven: - self._logger.info("Skipping non-optimal model") + self._logger.info("Skipping non-optimal model!") model = next(self._iterator) self._clear_cache(["_ds_model"]) self._on_model(model) diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index 5d9f1b00..878c7b3f 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -68,6 +68,7 @@ async def standard_executor(self): try: json = self._backend.get() self.last_response = json + self._logger.info("<-- Responded") return json except Exception as e: self._logger.error("Handling global exception in endpoint") @@ -128,6 +129,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): ) self.last_response = self._backend.get() + self._logger.info("<-- Responded") return self.last_response except Exception as e: diff --git a/docs/conf.py b/docs/conf.py index d11ca1a9..75e6c385 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.6" +release = "1.0.7" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index feeab4ac..33de535d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.6 +version = 1.0.7 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 53ba8691..9f4c8929 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.6", + "version": "1.0.7", "description": "An interactive visualizer for clingo", } From b90efca39644d3904801fb3b224df1536a54fe49 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 29 Apr 2024 12:50:37 -0600 Subject: [PATCH 23/61] Fixed loader --- angular_frontend/src/app/window/window.component.html | 2 +- angular_frontend/src/styles.scss | 1 + .../clinguin_angular_frontend/assets/config.json | 5 +---- clinguin/server/application/backends/clingo_backend.py | 3 --- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/angular_frontend/src/app/window/window.component.html b/angular_frontend/src/app/window/window.component.html index 562ff649..386212b5 100644 --- a/angular_frontend/src/app/window/window.component.html +++ b/angular_frontend/src/app/window/window.component.html @@ -4,7 +4,7 @@
-
+
diff --git a/angular_frontend/src/styles.scss b/angular_frontend/src/styles.scss index 0c6b7a58..7b1c0883 100644 --- a/angular_frontend/src/styles.scss +++ b/angular_frontend/src/styles.scss @@ -21,6 +21,7 @@ $light: #F4F5F7; position: fixed; top: 0; left: 0; + opacity: 70%; width: 100%; height: 100%; z-index: 9999; diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 25131302..b5e6ad70 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverUrl":"http://localhost", - "serverPort":"8000" -} \ No newline at end of file +{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index ed00d851..b5345968 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -524,9 +524,6 @@ def next_solution(self, opt_mode="ignore"): Arguments: opt_mode: The clingo optimization mode, bu default is 'ignore', to browse only optimal models use 'optN' """ - import time - - time.sleep(2) if self._ctl.configuration.solve.opt_mode != opt_mode: self._logger.debug("Ended browsing since opt mode changed") self._outdate() From 610fc9163f1af10e760a4f524a5b56627cfca139 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 2 May 2024 12:00:21 -0600 Subject: [PATCH 24/61] Clingo args command line --- .../clinguin_angular_frontend/assets/config.json | 2 +- .../server/application/backends/clingo_backend.py | 11 ++++++++++- .../server/application/backends/clingodl_backend.py | 3 ++- .../application/backends/explanation_backend.py | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index b5e6ad70..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1 @@ -{"serverPort": 8092, "serverUrl": "http://localhost"} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index b5345968..0ce556df 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -43,6 +43,7 @@ def __init__(self, args): raise RuntimeError("UI files need to be provided under --ui-files") self._ui_files = args.ui_files self._constants = [f"-c {v}" for v in args.const] if args.const else [] + self._clingo_ctl_arg = args.clingo_ctl_arg if args.clingo_ctl_arg else [] self._domain_state_constructors = [] self._backup_ds_cache = {} @@ -90,6 +91,13 @@ def register_options(cls, parser): help="Constant passed to clingo, = replaces term occurrences of with ", metavar="", ) + parser.add_argument( + "--clingo-ctl-arg", + action="append", + help="""Argument that will be passed to clingo control object for the domain. + Should have format =, for example parallel-mode=2 will become --parallel-mode=2.""", + metavar="", + ) # --------------------------------------------- # Context @@ -136,7 +144,8 @@ def _init_ctl(self): Uses the provided constants and domain files. It adds the atoms. """ - self._ctl = Control(["0"] + self._constants) + args = ["0"] + self._constants + [f"--{o}" for o in self._clingo_ctl_arg] + self._ctl = Control(args) for f in self._domain_files: path = Path(f) diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 80f383a3..da6740a1 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -38,7 +38,8 @@ def __init__(self, args): # --------------------------------------------- def _init_ctl(self): - self._ctl = Control(["0"] + self._constants) + args = ["0"] + self._constants + [f"--{o}" for o in self._clingo_ctl_arg] + self._ctl = Control(args) self._theory = ClingoDLTheory() self._theory.register(self._ctl) diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index e357d197..ae3bd191 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -59,7 +59,7 @@ def register_options(cls, parser): "--assumption-signature", help=textwrap.dedent( """\ - Signatures that will be considered as assumtions. Must be have format name,arity""" + Signatures that will be considered as true assumptions. Must be have format name,arity""" ), nargs="+", metavar="", From fbb49f036d791de488053fd85ad6f36639caa818 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 2 May 2024 15:33:29 -0600 Subject: [PATCH 25/61] Changed version --- angular_frontend/src/assets/config.json | 4 ++-- .../clinguin_angular_frontend/assets/config.json | 5 ++++- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/angular_frontend/src/assets/config.json b/angular_frontend/src/assets/config.json index 25131302..0c351ef2 100644 --- a/angular_frontend/src/assets/config.json +++ b/angular_frontend/src/assets/config.json @@ -1,4 +1,4 @@ { - "serverUrl":"http://localhost", - "serverPort":"8000" + "serverUrl": "http://localhost", + "serverPort": "8000" } \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..4a6e729b 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverPort": 8092, + "serverUrl": "http://localhost" +} \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 75e6c385..3fe8f5b4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.7" +release = "1.0.8" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 33de535d..dde94435 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.7 +version = 1.0.8 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 9f4c8929..c7fccc2f 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.7", + "version": "1.0.8", "description": "An interactive visualizer for clingo", } From 8eb1548cee1a13e1219a0a745b0c8723f8458ebc Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 10 Jun 2024 16:19:08 -0600 Subject: [PATCH 26/61] Explanation backend using clingoexplaid --- .../assets/config.json | 5 +- .../application/backends/clingo_backend.py | 47 ++++- .../backends/clingo_multishot_backend.py | 2 +- .../application/backends/clingodl_backend.py | 33 ++-- .../backends/explanation_backend.py | 175 ++++++------------ clinguin/server/data/ui_state.py | 2 +- docs/clinguin/backends/ExplanationBackend.rst | 28 +-- examples/angular/sudoku_advanced/README.md | 2 +- examples/angular/sudoku_advanced/instance.lp | 58 +++--- examples/angular/sudoku_advanced/ui.lp | 6 +- examples/tkinter/sudoku_explained/ui.lp | 10 +- setup.cfg | 1 + 12 files changed, 163 insertions(+), 206 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 4a6e729b..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverPort": 8092, - "serverUrl": "http://localhost" -} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 0ce556df..4b966b1b 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -42,7 +42,7 @@ def __init__(self, args): if not args.ui_files: raise RuntimeError("UI files need to be provided under --ui-files") self._ui_files = args.ui_files - self._constants = [f"-c {v}" for v in args.const] if args.const else [] + self._constants = args.const if args.const else [] self._clingo_ctl_arg = args.clingo_ctl_arg if args.clingo_ctl_arg else [] self._domain_state_constructors = [] @@ -53,9 +53,9 @@ def __init__(self, args): self._init_ctl() self._ground() - self._add_domain_state_constructor("_ds_model") self._add_domain_state_constructor("_ds_brave") self._add_domain_state_constructor("_ds_cautious") + self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious self._add_domain_state_constructor("_ds_context") self._add_domain_state_constructor("_ds_unsat") self._add_domain_state_constructor("_ds_browsing") @@ -144,9 +144,25 @@ def _init_ctl(self): Uses the provided constants and domain files. It adds the atoms. """ - args = ["0"] + self._constants + [f"--{o}" for o in self._clingo_ctl_arg] + self._create_ctl() + self._load_and_add() + + def _create_ctl(self): + """ + Initializes the control object (domain-control). + It is used when the server is started or after a restart. + """ + args = ( + ["0"] + + [f"-c {v}" for v in self._constants] + + [f"--{o}" for o in self._clingo_ctl_arg] + ) self._ctl = Control(args) + def _load_and_add(self): + """ + Loads domain files and atoms into the control + """ for f in self._domain_files: path = Path(f) if not path.is_file(): @@ -154,7 +170,7 @@ def _init_ctl(self): raise Exception(f"File {f} does not exist") try: - self._ctl.load(str(f)) + self._load_file(f) except Exception as e: self._logger.critical( "Failed to load file %s (there is likely a syntax error in this logic program file).", @@ -166,6 +182,15 @@ def _init_ctl(self): for atom in self._atoms: self._ctl.add("base", [], str(atom) + ".") + def _load_file(self, f): + """ + Loads a file into the control. This method can be overwritten if any pre-processing is needed. + + Arguments: + f (str): The file path + """ + self._ctl.load(str(f)) + def _outdate(self): """ Outdates all the dynamic values when a change has been made. @@ -178,6 +203,12 @@ def _outdate(self): self._model = None self._clear_cache() + def _get_assumptions(self): + """ + Gets the set of assumptions used for solving + """ + return self._assumptions + @property def _is_browsing(self): """ @@ -318,7 +349,7 @@ def _ds_brave(self): self._ctl.configuration.solve.enum_mode = "brave" self._prepare() symbols, ucore = solve( - self._ctl, [(a, True) for a in self._assumptions], self._on_model + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) self._unsat_core = ucore if symbols is None: @@ -349,7 +380,7 @@ def _ds_cautious(self): self._ctl.configuration.solve.enum_mode = "cautious" self._prepare() symbols, ucore = solve( - self._ctl, [(a, True) for a in self._assumptions], self._on_model + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) self._unsat_core = ucore if symbols is None: @@ -376,7 +407,7 @@ def _ds_model(self): self._ctl.configuration.solve.enum_mode = "auto" self._prepare() symbols, ucore = solve( - self._ctl, [(a, True) for a in self._assumptions], self._on_model + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) self._unsat_core = ucore if symbols is None: @@ -543,7 +574,7 @@ def next_solution(self, opt_mode="ignore"): self._ctl.configuration.solve.models = 0 self._prepare() self._handler = self._ctl.solve( - [(a, True) for a in self._assumptions], yield_=True + [(a, True) for a in self._get_assumptions()], yield_=True ) self._iterator = iter(self._handler) try: diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 80ab5b2f..79242a66 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -59,7 +59,7 @@ def _ds_assume(self): Includes predicate ``_clinguin_assume/1`` for every atom that was assumed. """ prg = "#defined _clinguin_assume/1.\n" - for a in self._assumptions: + for a in self._get_assumptions(): prg += f"_clinguin_assume({str(a)}).\n" return prg + "\n" diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index da6740a1..80cba0da 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -37,29 +37,24 @@ def __init__(self, args): # Setups # --------------------------------------------- - def _init_ctl(self): - args = ["0"] + self._constants + [f"--{o}" for o in self._clingo_ctl_arg] - self._ctl = Control(args) + def _create_ctl(self): + """ + Initializes the control object (domain-control). + It is used when the server is started or after a restart. + """ + super()._create_ctl() self._theory = ClingoDLTheory() self._theory.register(self._ctl) + def _load_file(self, f): + """ + Loads a file into the control. Uses the program builder to rewrite and add. + + Arguments: + f (str): The file path + """ with ProgramBuilder(self._ctl) as bld: - for f in self._domain_files: - path = Path(f) - if not path.is_file(): - self._logger.critical("File %s does not exist", f) - raise Exception(f"File {f} does not exist") - try: - parse_files([f], lambda ast: self._theory.rewrite_ast(ast, bld.add)) - except Exception as a: - self._logger.critical( - "Failed to load file %s (there is likely a syntax error in this logic program file).", - f, - ) - raise a - - for atom in self._atoms: - self._ctl.add("base", [], str(atom) + ".") + parse_files([f], lambda ast: self._theory.rewrite_ast(ast, bld.add)) def _outdate(self): """ diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index ae3bd191..bdd53920 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -6,6 +6,9 @@ from functools import cached_property from clingo.script import enable_python +from clingexplaid.transformers import AssumptionTransformer +from clingexplaid.mus import CoreComputer + from clinguin.server.application.backends.clingo_multishot_backend import ( ClingoMultishotBackend, @@ -22,27 +25,35 @@ class ExplanationBackend(ClingoMultishotBackend): """ def __init__(self, args): - self._muc = None - self._lit2symbol = {} + self._mus = None self._mc_base_assumptions = set() + self._parse_assumption_signature(args) + self._assumption_transformer = AssumptionTransformer( + signatures=self._assumption_sig + ) super().__init__(args) + self._transformer_assumptions = self._assumption_transformer.get_assumptions( + self._ctl, symbols=True + ) + + self._add_domain_state_constructor("_ds_mus") + + # --------------------------------------------- + # Private methods + # --------------------------------------------- - self._add_domain_state_constructor("_ds_muc") - - if args.assumption_signature: - for a in args.assumption_signature: - try: - name = a.split(",")[0] - arity = int(a.split(",")[1]) - except Exception as ex: - raise ValueError( - "Argument assumption_signature must have format name,arity" - ) from ex - for s in self._ctl.symbolic_atoms: - if s.symbol.match(name, arity): - self._mc_base_assumptions.add(s.symbol) - self._add_symbol_to_dict(s.symbol) - self._assumptions = self._mc_base_assumptions.copy() + def _parse_assumption_signature(self, args): + """ + Parse assumption signatures in the arguments + """ + self._assumption_sig = [] + for a in args.assumption_signature: + try: + self._assumption_sig.append((a.split(",")[0], int(a.split(",")[1]))) + except Exception as ex: + raise ValueError( + "Argument assumption_signature must have format name,arity" + ) from ex # --------------------------------------------- # Class methods @@ -69,127 +80,49 @@ def register_options(cls, parser): # Setups # --------------------------------------------- - def _outdate(self): + def _load_file(self, f): """ - Outdates all the dynamic values when a change has been made. - Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + Loads a file into the control. Transforms the program to add choices around assumption signatures. + + Arguments: + f (str): The file path """ - super()._outdate() - self._clear_cache(["_ds_muc"]) - # --------------------------------------------- - # Solving - # --------------------------------------------- + transformed_program = self._assumption_transformer.parse_files([f]) + self._ctl.add("base", [], transformed_program) - def _add_assumption(self, predicate_symbol): + def _get_assumptions(self): """ - Adds an assumption by also including in the mapping to literals. + Gets the set of assumptions used for solving """ - super()._add_assumption(predicate_symbol) - self._add_symbol_to_dict(predicate_symbol) - def _ground(self, program: str = "base"): - """ - Grounds the provided program, takes care of finding the new literals for the assumptions + return self._assumptions.union(self._transformer_assumptions) - Arguments: - program (str): The name of the program to ground (defaults to "base") + def _outdate(self): """ - self._lit2symbol = {} - super()._ground(program=program) - self._assumptions = self._assumptions.union(self._mc_base_assumptions.copy()) - for a in self._assumptions: - self._add_symbol_to_dict(a) + Outdates all the dynamic values when a change has been made. + Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + """ + super()._outdate() + self._clear_cache(["_ds_mus"]) # --------------------------------------------- # Domain state # --------------------------------------------- @cached_property - def _ds_muc(self): + def _ds_mus(self): """ - Adds information about the Minimal Unsat Core (MUC) - Includes predicate ``_clinguin_muc/1`` for every assumption in the MUC + Adds information about the Minimal Unsatisfiable Set (MUS) + Includes predicate ``_clinguin_mus/1`` for every assumption in the MUC It uses a cache that is erased after an operation makes changes in the control. """ - prg = "#defined _clinguin_muc/1. " + prg = "#defined _clinguin_mus/1.\n" if self._unsat_core is not None: self._logger.info("UNSAT Answer, will add explanation") - clingo_core = self._unsat_core - clingo_core_symbols = [self._lit2symbol[s] for s in clingo_core if s != -1] - muc_core = self._get_minimum_uc(clingo_core_symbols) - for s in muc_core: - prg = prg + f"_clinguin_muc({str(s)}).\n" + cc = CoreComputer(self._ctl, [(a, True) for a in self._get_assumptions()]) + cc.shrink() + mus_core = cc.minimal + for s, v in mus_core: + prg = prg + f"_clinguin_mus({str(s)}).\n" return prg - - # --------------------------------------------- - # Private methods - # --------------------------------------------- - - def _add_symbol_to_dict(self, symbol): - """ - Adds a list of symbols to the mapping of symbols to literals - """ - try: - lit = self._ctl.symbolic_atoms[symbol].literal - self._lit2symbol[lit] = symbol - except Exception: - self._logger.error( - "Could not find symbol %s literal in control. Symbol ignored,", symbol - ) - - def _solve_core(self, assumptions): - """ - Solves and gets the core with the basic faulty assumptions. - - Arguments: - - assumptions (list[int]): List of assumption literals - """ - with self._ctl.solve( - assumptions=[(a, True) for a in assumptions], yield_=True - ) as solve_handle: - satisfiable = solve_handle.get().satisfiable - core = [self._lit2symbol[s] for s in solve_handle.core() if s != -1] - return satisfiable, core - - def _get_minimum_uc(self, different_assumptions): - """ - Computes the MUC from the assumptions - - Arguments: - - different_assumptions (list[int]): List of assumption literals that is being minimized - """ - sat, _ = self._solve_core(assumptions=different_assumptions) - - if sat: - return [] - - assumption_set = different_assumptions - probe_set = [] - - for i, assumption in enumerate(assumption_set): - working_set = assumption_set[i + 1 :] - sat, _ = self._solve_core(assumptions=working_set + probe_set) - if sat: - probe_set.append(assumption) - - if not self._solve_core(assumptions=probe_set)[0]: - break - - return probe_set - - ######################################################################################################## - - # --------------------------------------------- - # Public operations - # --------------------------------------------- - - def clear_assumptions(self): - """ - Removes all assumptions. Overwrites the parent method by keeping as assumptions - the ones provided as input via the command line. - """ - self._outdate() - self._assumptions = self._mc_base_assumptions.copy() diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index fc9fe16c..2c7da927 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -55,7 +55,7 @@ def ui_control(self): Generates a ClingoControl Object to compute the UI state """ - uictl = Control(["0", "--warn=none"] + self._constants) + uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) for f in self._ui_files: path = Path(f) diff --git a/docs/clinguin/backends/ExplanationBackend.rst b/docs/clinguin/backends/ExplanationBackend.rst index 8e039b7b..4e665a9e 100644 --- a/docs/clinguin/backends/ExplanationBackend.rst +++ b/docs/clinguin/backends/ExplanationBackend.rst @@ -4,7 +4,7 @@ ExplanationBackend Extends :ref:`ClingoMultishotBackend` with functionality to compute Minumal Unsatisfiable Cores (MUC) when there is an UNSAT output. .. admonition:: Examples - + * `sudoku_advanced `_ * `sudoku_explained `_ @@ -14,37 +14,37 @@ When the :ref:`domain-control` produces an unsatisfiable output this backend wil to find the subset minimal assumptions that caused the unsatisfiablity. These assuptions not only include those selected by the user, but also can be part of the input. This is needed when some of the input facts also want to be shown to the user. -Therefore, this backend adds an argument to the command line: ``--assumption-signature`` +Therefore, this backend adds an argument to the command line: ``--assumption-signature`` in which the user can select which signatures will be considered as assumptions in the MUC computation. .. currentmodule:: clinguin.server.application.backends .. admonition:: Examples - + The `sudoku_advanced `_ example provides the argument ``--assumption-signature=initial,3`` so that all the initial values of the sudoku - are also considered in the unsat core and therefore shown to the user. + are also considered in the unsat core and therefore shown to the user. - .. code-block:: + .. code-block:: - attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_muc(sudoku(X,Y,_)), not _clinguin_muc(initial(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(sudoku(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_mus(sudoku(X,Y,_)), not _clinguin_mus(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(sudoku(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(initial(X,Y,_)). The :ref:`domain-state` is then enhanced by the MUC using predicate ``muc/1``. .. admonition:: Examples - + In the sudoku, the MUC information will show in red the faulty assumptions. - .. code-block:: + .. code-block:: - attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_muc(sudoku(X,Y,_)), not _clinguin_muc(initial(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(sudoku(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_mus(sudoku(X,Y,_)), not _clinguin_mus(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(sudoku(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(initial(X,Y,_)). .. autoclass:: ExplanationBackend @@ -57,4 +57,4 @@ Domain state constructors The domain state also inclues domain constructors from the parent class. -.. automethod:: ExplanationBackend._ds_muc \ No newline at end of file +.. automethod:: ExplanationBackend._ds_mus \ No newline at end of file diff --git a/examples/angular/sudoku_advanced/README.md b/examples/angular/sudoku_advanced/README.md index 79a90019..c90ed33e 100644 --- a/examples/angular/sudoku_advanced/README.md +++ b/examples/angular/sudoku_advanced/README.md @@ -5,7 +5,7 @@ An advanced version of the sudoku where all values are listed as possibilities but when an invalid one is chosen, the explanation is highlighted. -Notice that the instances uses choices on predicate `initial/3`. This way they can be used as assumptions and be included in the `_clinguin_muc` predicate by the `ExplanationBackend`. The option `--assumption-signature initial,3` adds all these atoms as true assumptions. +Notice that the instances uses choices on predicate `initial/3`. This way they can be used as assumptions and be included in the `_clinguin_mus` predicate by the `ExplanationBackend`. The option `--assumption-signature initial,3` adds all these atoms as true assumptions. ### Usage diff --git a/examples/angular/sudoku_advanced/instance.lp b/examples/angular/sudoku_advanced/instance.lp index a6ff4ec7..c4861fda 100644 --- a/examples/angular/sudoku_advanced/instance.lp +++ b/examples/angular/sudoku_advanced/instance.lp @@ -1,34 +1,34 @@ % %%%%%%%%%%%%%%%%%%%%%%%%% Instance -{initial(5,1,8)}. -{initial(6,2,7)}. -{initial(7,1,4)}. -{initial(8,2,2)}. -{initial(8,1,6)}. -{initial(9,2,9)}. -{initial(3,3,9)}. -{initial(4,3,3)}. -{initial(6,3,6)}. -{initial(7,3,5)}. -{initial(8,3,7)}. -{initial(1,4,7)}. -{initial(2,4,6)}. -{initial(4,4,4)}. -{initial(7,4,9)}. -{initial(8,4,3)}. -{initial(2,5,3)}. -{initial(3,5,2)}. -{initial(4,5,8)}. -{initial(7,5,7)}. -{initial(9,5,5)}. -{initial(1,6,9)}. -{initial(2,6,1)}. -{initial(3,6,8)}. -{initial(8,6,4)}. -{initial(9,6,6)}. -{initial(1,7,6)}. -{initial(5,7,7)}. -{initial(6,7,8)}. +initial(5,1,8). +initial(6,2,7). +initial(7,1,4). +initial(8,2,2). +initial(8,1,6). +initial(9,2,9). +initial(3,3,9). +initial(4,3,3). +initial(6,3,6). +initial(7,3,5). +initial(8,3,7). +initial(1,4,7). +initial(2,4,6). +initial(4,4,4). +initial(7,4,9). +initial(8,4,3). +initial(2,5,3). +initial(3,5,2). +initial(4,5,8). +initial(7,5,7). +initial(9,5,5). +initial(1,6,9). +initial(2,6,1). +initial(3,6,8). +initial(8,6,4). +initial(9,6,6). +initial(1,7,6). +initial(5,7,7). +initial(6,7,8). % initial(8,7,9). % initial(9,7,4). % initial(2,8,7). diff --git a/examples/angular/sudoku_advanced/ui.lp b/examples/angular/sudoku_advanced/ui.lp index af837224..96ba1b89 100644 --- a/examples/angular/sudoku_advanced/ui.lp +++ b/examples/angular/sudoku_advanced/ui.lp @@ -18,9 +18,9 @@ elem(window,window,root). attr(pos(X,Y),grid_column,X):-pos(X,Y). attr(pos(X,Y),grid_row,Y):-pos(X,Y). attr(pos(X,Y),class,"border-dark"):-pos(X,Y). - attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_muc(sudoku(X,Y,_)), not _clinguin_muc(initial(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(sudoku(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_muc(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_mus(sudoku(X,Y,_)), not _clinguin_mus(initial(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(sudoku(X,Y,_)). + attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(initial(X,Y,_)). attr(pos(X,Y),class,"bg-opacity-10"):-subgrid(X,Y,S), S\2==0. attr(pos(X,Y),class,"bg-opacity-50"):-subgrid(X,Y,S), S\2!=0. attr(pos(X,Y),class,("opacity-100";"disabled";"fw-bold";"text-dark")):-initial(X,Y,V). diff --git a/examples/tkinter/sudoku_explained/ui.lp b/examples/tkinter/sudoku_explained/ui.lp index 198b86ee..4c583e78 100644 --- a/examples/tkinter/sudoku_explained/ui.lp +++ b/examples/tkinter/sudoku_explained/ui.lp @@ -24,12 +24,12 @@ attr(window, child_layout, grid). % Grid cells - muc_cell(X,Y):- _clinguin_clinguin_muc(initial(X,Y,_)). - muc_cell(X,Y):- _clinguin_muc(sudoku(X,Y,_)). + muc_cell(X,Y):- _clinguin_clinguin_mus(initial(X,Y,_)). + muc_cell(X,Y):- _clinguin_mus(sudoku(X,Y,_)). cell_color(X,Y,gray):-subgrid(X,Y,S), S\2==0, not muc_cell(X,Y). cell_color(X,Y,white):-subgrid(X,Y,S), S\2!=0, not muc_cell(X,Y). - cell_color(X,Y,red):-_clinguin_muc(initial(X,Y,_)). - cell_color(X,Y,orange):-_clinguin_muc(sudoku(X,Y,_)). + cell_color(X,Y,red):-_clinguin_mus(initial(X,Y,_)). + cell_color(X,Y,orange):-_clinguin_mus(sudoku(X,Y,_)). menu(X,Y):-pos(X,Y), not initial(X,Y,_). elem(c(X,Y), container, window) :- pos(X,Y). @@ -49,7 +49,7 @@ attr(window, child_layout, grid). elem(m(X,Y), dropdown_menu, c(X,Y)) :- menu(X,Y). attr(m(X,Y), background_color, COLOR) :- menu(X,Y), cell_color(X,Y,COLOR). attr(m(X,Y), selected, V) :- menu(X,Y), _clinguin_assume(sudoku(X,Y,V)). - attr(m(X,Y), selected, V) :- menu(X,Y), _clinguin_muc(sudoku(X,Y,V)). + attr(m(X,Y), selected, V) :- menu(X,Y), _clinguin_mus(sudoku(X,Y,V)). attr(m(X,Y), selected, V) :- sudoku(X,Y,V), _clinguin_browsing. when(m(X,Y), clear, call, remove_assumption_signature(sudoku(X,Y,any))) :- menu(X,Y). diff --git a/setup.cfg b/setup.cfg index dde94435..26ddd4d9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ install_requires = uvicorn clingraph Pillow + clingexplaid [options.package_data] From a2ff1d512a99d2b17cd9b0286daf88fedd58f827 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 10 Jun 2024 16:55:56 -0600 Subject: [PATCH 27/61] Updated documentation --- .../application/backends/clingo_backend.py | 17 +++---- docs/clinguin/backends/Custom.rst | 8 +++- docs/clinguin/backends/ExplanationBackend.rst | 46 +++++++++++-------- docs/clinguin/development.rst | 31 ++++++++++++- 4 files changed, 70 insertions(+), 32 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 4b966b1b..75cf7818 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -139,10 +139,7 @@ def _init_setup(self): def _init_ctl(self): """ - Initializes the control object (domain-control). - It is used when the server is started or after a restart. - Uses the provided constants and domain files. - It adds the atoms. + Creates the control and loads the files """ self._create_ctl() self._load_and_add() @@ -203,12 +200,6 @@ def _outdate(self): self._model = None self._clear_cache() - def _get_assumptions(self): - """ - Gets the set of assumptions used for solving - """ - return self._assumptions - @property def _is_browsing(self): """ @@ -253,6 +244,12 @@ def _add_atom(self, predicate_symbol): if predicate_symbol not in self._atoms: self._atoms.add(predicate_symbol) + def _get_assumptions(self): + """ + Gets the set of assumptions used for solving + """ + return self._assumptions + # --------------------------------------------- # UI update # --------------------------------------------- diff --git a/docs/clinguin/backends/Custom.rst b/docs/clinguin/backends/Custom.rst index 615caaf4..12352514 100644 --- a/docs/clinguin/backends/Custom.rst +++ b/docs/clinguin/backends/Custom.rst @@ -67,7 +67,11 @@ When a custom argument is added to the backend if will likely need to be handled .. automethod:: ClingoMultishotBackend._init_setup -.. automethod:: ClingoMultishotBackend._init_ctl +.. automethod:: ClingoMultishotBackend._create_ctl + +.. automethod:: ClingoMultishotBackend._load_and_add + +.. automethod:: ClingoMultishotBackend._load_file .. automethod:: ClingoMultishotBackend._outdate @@ -94,6 +98,8 @@ They can be ovweritten for theory extensions among other things. .. automethod:: ClingoMultishotBackend._add_atom +.. automethod:: ClingoMultishotBackend._get_assumptions + UI updates ++++++++++ diff --git a/docs/clinguin/backends/ExplanationBackend.rst b/docs/clinguin/backends/ExplanationBackend.rst index 4e665a9e..dc862c6b 100644 --- a/docs/clinguin/backends/ExplanationBackend.rst +++ b/docs/clinguin/backends/ExplanationBackend.rst @@ -1,7 +1,7 @@ ExplanationBackend ------------------ -Extends :ref:`ClingoMultishotBackend` with functionality to compute Minumal Unsatisfiable Cores (MUC) when there is an UNSAT output. +Extends :ref:`ClingoMultishotBackend` with functionality to compute Minumal Unsatisfiable Sets (MUS) when there is an UNSAT output. .. admonition:: Examples @@ -9,23 +9,23 @@ Extends :ref:`ClingoMultishotBackend` with functionality to compute Minumal Unsa * `sudoku_advanced `_ * `sudoku_explained `_ - When the :ref:`domain-control` produces an unsatisfiable output this backend will perform subsequents calls to find the subset minimal assumptions that caused the unsatisfiablity. -These assuptions not only include those selected by the user, but also can be part of the input. -This is needed when some of the input facts also want to be shown to the user. -Therefore, this backend adds an argument to the command line: ``--assumption-signature`` -in which the user can select which signatures will be considered as assumptions in the MUC computation. +The :ref:`domain-state` is then enhanced by the MUS using predicate ``_clinguin_mus/1``. -.. currentmodule:: clinguin.server.application.backends +.. admonition:: MUS Basic Example + For instance in the program ``{a(1..4)}. :-a(1),a(2). :-a(3).`` if it is solved considering ``a(1)`` ``a(3)`` and ``a(4)`` as assumptions, + it will lead to an unsatisfiable output. + The MUS will be a subset of these assumptions such that removing any assumption will make the program satisfiable. + Therefore, ``a(3)`` would be the only member in the MUS since it alone causes the unsatisfiablity with the last constraint. + As such, the atom ``_clinguin_mus(a(3))`` will be added to the :ref:`domain-state`. -.. admonition:: Examples +.. admonition:: Example Sudoku - The `sudoku_advanced `_ example - provides the argument ``--assumption-signature=initial,3`` so that all the initial values of the sudoku - are also considered in the unsat core and therefore shown to the user. + + In the sudoku, the MUS information will show in red the faulty assumptions. .. code-block:: @@ -33,18 +33,26 @@ in which the user can select which signatures will be considered as assumptions attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(sudoku(X,Y,_)). attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(initial(X,Y,_)). -The :ref:`domain-state` is then enhanced by the MUC using predicate ``muc/1``. +**Including instance facts in the MUS** -.. admonition:: Examples +This is needed when some of the input facts also want to be shown to the user. +The ExplanationBackend adds an argument to the command line: ``--assumption-signature`` +in which the user can select which signatures will be considered as assumptions in the MUS computation. +To achive this behaviour, the domain files will be internally transformed, +so that all facts for atoms matching the signatures provided in this arguments are considered choices and automatically added as true assumptions. + +.. currentmodule:: clinguin.server.application.backends - In the sudoku, the MUC information will show in red the faulty assumptions. - .. code-block:: +.. admonition:: Examples + + + The `sudoku_advanced `_ example + provides the argument ``--assumption-signature=initial,3``. By doing so, all the initial values in the instance + of the sudoku are transfored into choices and enforced by considering them as assumptions. + This way, they are also considered in unsatisfiable set and shown to the user. - attr(pos(X,Y),class,"bg-primary"):-pos(X,Y), not _clinguin_mus(sudoku(X,Y,_)), not _clinguin_mus(initial(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(sudoku(X,Y,_)). - attr(pos(X,Y),class,"bg-danger"):-pos(X,Y), _clinguin_mus(initial(X,Y,_)). .. autoclass:: ExplanationBackend @@ -53,7 +61,7 @@ The :ref:`domain-state` is then enhanced by the MUC using predicate ``muc/1``. :exclude-members: register_options -Domain state constructors +**Domain state constructors** The domain state also inclues domain constructors from the parent class. diff --git a/docs/clinguin/development.rst b/docs/clinguin/development.rst index 7bbf895b..6536e97e 100644 --- a/docs/clinguin/development.rst +++ b/docs/clinguin/development.rst @@ -1,6 +1,33 @@ Contributing ============ +To improve code quality, we use nox to run linters, type checkers, unit +tests, documentation and more. We recommend installing nox using pipx to have +it available globally. + +.. code-block:: console + + # install + python -m pip install pipx + python -m pipx install nox + + # run all sessions + nox + + # list all sessions + nox -l + + # run individual session + nox -s session_name + + # run individual session (reuse install) + nox -Rs session_name + +Note that the nox sessions create [editable] installs. In case there are issues, +try recreating environments by dropping the `-R` option. If your project is +incompatible with editable installs, adjust the `noxfile.py` to disable them. + + Angular Frontend Development ++++++++++++++++++++++++++++ @@ -9,7 +36,7 @@ For instance to create new element types. .. warning:: - + The following is only required for making changes to the web-frontend. Requirements @@ -28,7 +55,7 @@ This process shows changes made on the `angular_fronted` folder in real time. - Replace ``clinguin client-server`` by ``python start.py server`` and remove argument ``--frontend=AngularFrontend`` from the command line of the desired example 2. Start the web client - Open a new tab - - Navigate to the folder `/angular_frontend`. + - Navigate to the folder `/angular_frontend`. - Type ``ng serve`` - Go to the URL `127.0.0.1:4200` in your web-browser. From 400fbf1ad0b9c8cafb58c8e95abe1c57aecdd977 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 10 Jun 2024 17:04:10 -0600 Subject: [PATCH 28/61] More documentation --- .../backends/clingo_multishot_backend.py | 59 ++++++++++--------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 79242a66..9cf6e26f 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -77,49 +77,53 @@ def clear_assumptions(self): self._outdate() self._assumptions = set() - def add_assumption(self, predicate): + def add_assumption(self, atom): """ - Adds an assumption + Adds an atom `a` as an assumption. + This assumption can be considered as an integrity constraint: + `:- not a.` forcing the program to entail the given atom. Arguments: - predicate (str): The clingo symbol to be added + atom (str): The clingo symbol to be added as a true assumption """ - predicate_symbol = parse_term(predicate) - if predicate_symbol not in self._assumptions: - self._add_assumption(predicate_symbol) + atom_symbol = parse_term(atom) + if atom_symbol not in self._assumptions: + self._add_assumption(atom_symbol) self._outdate() - def remove_assumption(self, predicate): + def remove_assumption(self, atom): """ - Removes an assumption + Removes an atom from the assumptions list. Arguments: - predicate (str): The clingo symbol to be removed + atom (str): The clingo symbol to be removed """ - predicate_symbol = parse_term(predicate) - if predicate_symbol in self._assumptions: - self._assumptions.remove(predicate_symbol) + atom_symbol = parse_term(atom) + if atom_symbol in self._assumptions: + self._assumptions.remove(atom_symbol) self._outdate() - def remove_assumption_signature(self, predicate): + def remove_assumption_signature(self, atom): """ - Removes predicates matching the predicate description. + Removes from the list of assumptions those matching the given atom. + Unlike function remove_assumption, this one allows for partial matches using the + placeholder constant `any` Arguments: - predicate (str): The predicate description as a symbol, + atom (str): The atom description as a symbol, where the reserver word `any` is used to state that anything can take part of that position. For instance, `person(anna,any)`, - will remove all assumptions of predicate person, where the first argument is anna. + will remove all assumptions of atom person, where the first argument is anna. """ - predicate_symbol = parse_term(predicate) - arity = len(predicate_symbol.arguments) + atom_symbol = parse_term(atom) + arity = len(atom_symbol.arguments) to_remove = [] for s in self._assumptions: - if s.match(predicate_symbol.name, arity): - for i, a in enumerate(predicate_symbol.arguments): + if s.match(atom_symbol.name, arity): + for i, a in enumerate(atom_symbol.arguments): if str(a) != "any" and s.arguments[i] != a: break else: @@ -130,21 +134,22 @@ def remove_assumption_signature(self, predicate): if len(to_remove) > 0: self._outdate() - def set_external(self, predicate, value): + def set_external(self, atom, value): """ - Sets the value of an external. + Sets the value of an external. Externals must be defined in the domain files using `#external`. + The truth value of external atoms can then be provided by the user via this function. Arguments: - predicate (str): The clingo symbol to be set + atom (str): The clingo symbol to be set value (str): The value (release, true or false) """ - symbol = parse_term(predicate) + symbol = parse_term(atom) name = value self._outdate() if name == "release": - self._ctl.release_external(parse_term(predicate)) + self._ctl.release_external(parse_term(atom)) self._externals["released"].add(symbol) if symbol in self._externals["true"]: @@ -154,14 +159,14 @@ def set_external(self, predicate, value): self._externals["false"].remove(symbol) elif name == "true": - self._ctl.assign_external(parse_term(predicate), True) + self._ctl.assign_external(parse_term(atom), True) self._externals["true"].add(symbol) if symbol in self._externals["false"]: self._externals["false"].remove(symbol) elif name == "false": - self._ctl.assign_external(parse_term(predicate), False) + self._ctl.assign_external(parse_term(atom), False) self._externals["false"].add(symbol) if symbol in self._externals["true"]: From b78dd79f46e455ac63ad79b5eec4f22c41a0534d Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 10 Jun 2024 18:09:39 -0600 Subject: [PATCH 29/61] Better logging --- .../tkinter_frontend/tkinter_frontend.py | 7 +-- .../application/backends/clingo_backend.py | 46 +++++++++++++++++-- .../backends/clingo_multishot_backend.py | 15 ++++-- .../backends/explanation_backend.py | 2 + clinguin/server/data/ui_state.py | 17 ++++++- clinguin/server/presentation/endpoints.py | 15 +++--- clinguin/utils/logger.py | 14 +++++- 7 files changed, 94 insertions(+), 22 deletions(-) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py index d3f45900..7db31a66 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py @@ -1,6 +1,7 @@ """ Contains the tkinter-gui class. """ + import networkx as nx from clinguin.client import AbstractFrontend @@ -60,7 +61,7 @@ def append_dict(description, d, type_name): description = ( description + ": " - + colored_text(AttributeNames.descriptions[key], "GRAY") + + colored_text(AttributeNames.descriptions[key], "MAGENTA") ) description = description + "\n" elif key in CallbackNames.descriptions: @@ -68,14 +69,14 @@ def append_dict(description, d, type_name): description = ( description + ": " - + colored_text(CallbackNames.descriptions[key], "GRAY") + + colored_text(CallbackNames.descriptions[key], "MAGENTA") ) description = description + "\n" if type_name in d[key]: description = description + " Possible-Values: " description = description + colored_text( - d[key][type_name].description() + "\n", "GRAY" + d[key][type_name].description() + "\n", "MAGENTA" ) return description diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 75cf7818..6bb075bb 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -12,6 +12,8 @@ from clinguin.server import StandardJsonEncoder, UIState from clinguin.server.data.domain_state import solve, tag +from ....utils.logger import domctl_log + enable_python() # pylint: disable=attribute-defined-outside-init @@ -155,6 +157,7 @@ def _create_ctl(self): + [f"--{o}" for o in self._clingo_ctl_arg] ) self._ctl = Control(args) + self._logger.debug(domctl_log(f"domain_ctl = Control({args})")) def _load_and_add(self): """ @@ -178,6 +181,7 @@ def _load_and_add(self): for atom in self._atoms: self._ctl.add("base", [], str(atom) + ".") + self._logger.debug(fdomctl_log('domctl.add("base", [], {str(atom)} + ".")')) def _load_file(self, f): """ @@ -187,6 +191,7 @@ def _load_file(self, f): f (str): The file path """ self._ctl.load(str(f)) + self._logger.debug(domctl_log(f"domctlload({str(f)})")) def _outdate(self): """ @@ -219,6 +224,7 @@ def _ground(self, program="base"): program (str): The name of the program to ground (defaults to "base") """ self._ctl.ground([(program, [])]) + self._logger.debug(domctl_log(f"domctl.ground([({program}, [])])")) def _prepare(self): """ @@ -305,7 +311,6 @@ def _domain_state(self): ds = "" for f in self._domain_state_constructors: ds += getattr(self, f) - self._logger.debug("\nDomain state:\n==========\n %s", str(ds)) return ds # -------- Domain state methods @@ -344,10 +349,16 @@ def _ds_brave(self): self._ctl.configuration.solve.models = 0 self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "brave" + self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) self._prepare() symbols, ucore = solve( self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) self._unsat_core = ucore if symbols is None: self._logger.warning("Got an UNSAT result with the given domain encoding.") @@ -356,7 +367,7 @@ def _ds_brave(self): if "_ds_brave" in self._backup_ds_cache else "" ) - return "\n".join([str(s) + "." for s in list(tag(symbols, "_any"))]) + "\n" + return " ".join([str(s) + "." for s in list(tag(symbols, "_any"))]) + "\n" @cached_property def _ds_cautious(self): @@ -375,10 +386,18 @@ def _ds_cautious(self): self._ctl.configuration.solve.models = 0 self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "cautious" + self._logger.debug( + domctl_log('domctl.configuration.solve.enum_mode = "cautious"') + ) self._prepare() symbols, ucore = solve( self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) self._unsat_core = ucore if symbols is None: self._logger.warning("Got an UNSAT result with the given domain encoding.") @@ -388,7 +407,7 @@ def _ds_cautious(self): else "" ) - return "\n".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n" + return " ".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n" @cached_property def _ds_model(self): @@ -402,10 +421,19 @@ def _ds_model(self): self._ctl.configuration.solve.models = 1 self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "auto" + self._logger.debug( + domctl_log('domctl.configuration.solve.enum_mode = "auto"') + ) + self._prepare() symbols, ucore = solve( self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) self._unsat_core = ucore if symbols is None: self._logger.warning( @@ -419,7 +447,7 @@ def _ds_model(self): ) self._model = symbols - return "\n".join([str(s) + "." for s in self._model]) + "\n" + return " ".join([str(s) + "." for s in self._model]) + "\n" @property def _ds_unsat(self): @@ -569,10 +597,20 @@ def next_solution(self, opt_mode="ignore"): self._ctl.configuration.solve.enum_mode = "auto" self._ctl.configuration.solve.opt_mode = opt_mode self._ctl.configuration.solve.models = 0 + self._logger.debug( + domctl_log(f"domctl.configuration.solve.opt_mode = {opt_mode}") + ) + self._prepare() self._handler = self._ctl.solve( [(a, True) for a in self._get_assumptions()], yield_=True ) + self._logger.debug( + domctl_log( + f"domctl.solve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + self._iterator = iter(self._handler) try: model = next(self._iterator) diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 9cf6e26f..43b6172a 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -8,6 +8,8 @@ from clinguin.server.application.backends import ClingoBackend +from ....utils.logger import domctl_log + enable_python() @@ -58,9 +60,9 @@ def _ds_assume(self): Includes predicate ``_clinguin_assume/1`` for every atom that was assumed. """ - prg = "#defined _clinguin_assume/1.\n" + prg = "#defined _clinguin_assume/1. " for a in self._get_assumptions(): - prg += f"_clinguin_assume({str(a)}).\n" + prg += f"_clinguin_assume({str(a)}). " return prg + "\n" ######################################################################################################## @@ -149,7 +151,8 @@ def set_external(self, atom, value): self._outdate() if name == "release": - self._ctl.release_external(parse_term(atom)) + self._ctl.release_external(symbol) + self._logger.debug(domctl_log(f"ctl.release_external({symbol})")) self._externals["released"].add(symbol) if symbol in self._externals["true"]: @@ -159,14 +162,16 @@ def set_external(self, atom, value): self._externals["false"].remove(symbol) elif name == "true": - self._ctl.assign_external(parse_term(atom), True) + self._ctl.assign_external(symbol, True) + self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, True)")) self._externals["true"].add(symbol) if symbol in self._externals["false"]: self._externals["false"].remove(symbol) elif name == "false": - self._ctl.assign_external(parse_term(atom), False) + self._ctl.assign_external(symbol, False) + self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, False)")) self._externals["false"].add(symbol) if symbol in self._externals["true"]: diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index bdd53920..eb59edc2 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -9,6 +9,7 @@ from clingexplaid.transformers import AssumptionTransformer from clingexplaid.mus import CoreComputer +from ....utils.logger import domctl_log from clinguin.server.application.backends.clingo_multishot_backend import ( ClingoMultishotBackend, @@ -90,6 +91,7 @@ def _load_file(self, f): transformed_program = self._assumption_transformer.parse_files([f]) self._ctl.add("base", [], transformed_program) + self._logger.debug(domctl_log(f'domctl.add("base", [], {transformed_program})')) def _get_assumptions(self): """ diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 2c7da927..62c2d39e 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -17,6 +17,7 @@ from .attribute import AttributeDao from .callback import WhenDao from .element import ElementDao +from ...utils.logger import uictl_log log = logging.getLogger("clinguin_server") @@ -56,7 +57,11 @@ def ui_control(self): """ uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) - + log.debug( + uictl_log( + f'uictl = Control(["0", "--warn=none"] + {[f"-c v" for v in self._constants]})' + ) + ) for f in self._ui_files: path = Path(f) if not path.is_file(): @@ -73,9 +78,16 @@ def ui_control(self): raise e uictl.add("base", [], self._domain_state) + log.debug(uictl_log(f'uictl.add("base", [], {self._domain_state})')) uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.") - uictl.ground([("base", [])], ClingraphContext()) + log.debug( + uictl_log( + 'uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.")' + ) + ) + uictl.ground([("base", [])], ClingraphContext()) + log.debug(uictl_log('uictl.ground([("base", [])], ClingraphContext())')) return uictl def update_ui_state(self): @@ -91,6 +103,7 @@ def update_ui_state(self): model_symbols = m.symbols(shown=True, atoms=True) defined = True break + log.debug(uictl_log("uictl.solve(yield_=True)")) if not defined: log.critical("UI encoding was UNSATISFIABLE") raise RuntimeError("UI encoding was UNSATISFIABLE") diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index 878c7b3f..3ba5a989 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -12,6 +12,7 @@ from clinguin.utils import Logger from ...utils import get_server_error_alert +from ...utils.logger import colored_text from .backend_policy_dto import BackendPolicyDto # Self Defined @@ -64,11 +65,11 @@ async def standard_executor(self): calls the get() method of the respective backend (clinguin/clingo/clingraph/etc.). The get() method is implemented by every backend. """ - self._logger.info("--> %s: get()", self._backend.__class__.__name__) + self._logger.info(colored_text("=>=>=>=>=>=>=>=>=> GET", "GREEN")) + self._logger.info(colored_text("-->", "GREEN") + " get()") try: json = self._backend.get() self.last_response = json - self._logger.info("<-- Responded") return json except Exception as e: self._logger.error("Handling global exception in endpoint") @@ -84,7 +85,8 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): including arguments. For example: {'function':'add_assumption(p(1))'} """ - self._logger.debug("Got endpoint") + + self._logger.info(colored_text("=>=>=>=>=>=>=>=>=> POST", "GREEN")) try: try: @@ -107,7 +109,6 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): policies = [] if function_name == "": policies = symbol.arguments - self._logger.info("Calling multiple policies") else: policies = [symbol] @@ -118,8 +119,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): call_args = ",".join(function_arguments) self._logger.info( - "--> %s: %s(%s)", - self._backend.__class__.__name__, + colored_text("-->", "GREEN") + " %s(%s)", function_name, call_args, ) @@ -128,8 +128,9 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): self._backend, function_name, function_arguments, {} ) + self._logger.info(colored_text("-->", "GREEN") + " get()") + self.last_response = self._backend.get() - self._logger.info("<-- Responded") return self.last_response except Exception as e: diff --git a/clinguin/utils/logger.py b/clinguin/utils/logger.py index c1f7360b..5e6bf14e 100644 --- a/clinguin/utils/logger.py +++ b/clinguin/utils/logger.py @@ -12,7 +12,8 @@ "GREEN": GREEN, "BLUE": BLUE, "RED": RED, - "GRAY": MAGENTA, + "MAGENTA": MAGENTA, + "CYAN": CYAN, } RESET_SEQ = "\033[0m" @@ -27,6 +28,14 @@ def colored_text(txt, color): return COLOR_SEQ % (30 + COLOR_NAMES[color]) + txt + RESET_SEQ +def uictl_log(text): + return colored_text(text, "CYAN") + + +def domctl_log(text): + return colored_text(text, "MAGENTA") + + class Logger: """ Provides methods to set the logging config appropriatly. In principle two loggers exists - @@ -154,3 +163,6 @@ def setup_uvicorn_logger_on_startup(cls, log_arg_dict): cls._add_shell_handler_to_logger(logger, log_arg_dict) if log_arg_dict["file_enabled"]: cls._add_file_handler_to_logger(logger, log_arg_dict, log_file_path) + + def print_domctl_log(self, call): + self.debug(colored_text(call), "CYAN") From 5076bab882553825bcf38ec4548339e536f89c73 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 11 Jun 2024 11:51:16 -0600 Subject: [PATCH 30/61] Explanation backend with latest clingexplaid version --- .../application/backends/clingo_backend.py | 20 +++++++++++++------ .../backends/explanation_backend.py | 6 ++++-- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 6bb075bb..ccec26d6 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -146,18 +146,26 @@ def _init_ctl(self): self._create_ctl() self._load_and_add() - def _create_ctl(self): + @property + def _ctl_arguments_list(self): """ - Initializes the control object (domain-control). - It is used when the server is started or after a restart. + Gets the list of arguments used for creating a control object """ - args = ( + return ( ["0"] + [f"-c {v}" for v in self._constants] + [f"--{o}" for o in self._clingo_ctl_arg] ) - self._ctl = Control(args) - self._logger.debug(domctl_log(f"domain_ctl = Control({args})")) + + def _create_ctl(self): + """ + Initializes the control object (domain-control). + It is used when the server is started or after a restart. + """ + self._ctl = Control(self._ctl_arguments_list) + self._logger.debug( + domctl_log(f"domain_ctl = Control({self._ctl_arguments_list})") + ) def _load_and_add(self): """ diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index eb59edc2..bb6361c5 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -33,8 +33,10 @@ def __init__(self, args): signatures=self._assumption_sig ) super().__init__(args) - self._transformer_assumptions = self._assumption_transformer.get_assumptions( - self._ctl, symbols=True + self._transformer_assumptions = ( + self._assumption_transformer.get_assumption_symbols( + self._ctl, arguments=self._ctl_arguments_list + ) ) self._add_domain_state_constructor("_ds_mus") From 1e3396a975afe7bebc7cb90ec3550e005d6aa212 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 17 Jun 2024 15:26:54 -0600 Subject: [PATCH 31/61] Fixed angular issues in update --- .../src/app/attribute-helper.service.ts | 111 +++++++++--------- .../src/app/button/button.component.ts | 62 +++++----- .../src/app/callback-helper.service.ts | 17 ++- .../assets/config.json | 5 +- .../clinguin_angular_frontend/index.html | 4 +- ...8b0e1a302e.js => main.be78181ca43215d1.js} | 2 +- ...1e2c30.css => styles.873dc2da1e53dafd.css} | 2 +- .../application/backends/clingo_backend.py | 2 +- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 11 files changed, 111 insertions(+), 100 deletions(-) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{main.0cf53d8b0e1a302e.js => main.be78181ca43215d1.js} (52%) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{styles.89168e8acd1e2c30.css => styles.873dc2da1e53dafd.css} (99%) diff --git a/angular_frontend/src/app/attribute-helper.service.ts b/angular_frontend/src/app/attribute-helper.service.ts index c70367a4..882a97e0 100644 --- a/angular_frontend/src/app/attribute-helper.service.ts +++ b/angular_frontend/src/app/attribute-helper.service.ts @@ -2,69 +2,69 @@ import { Attribute, Injectable } from '@angular/core'; import { AttributeDto, ElementDto } from './types/json-response.dto'; @Injectable({ - providedIn: 'root' + providedIn: 'root' }) export class AttributeHelperService { - constructor() { } + constructor() { } - attrBackgroundColor(html:HTMLElement, attribute: AttributeDto) { + attrBackgroundColor(html: HTMLElement, attribute: AttributeDto) { let value = attribute.value html.style.backgroundColor = value } - attrHeight(html:HTMLElement, attribute: AttributeDto) { + attrHeight(html: HTMLElement, attribute: AttributeDto) { let value = attribute.value + "px" html.style.height = value } - attrWidth(html:HTMLElement, attribute: AttributeDto) { + attrWidth(html: HTMLElement, attribute: AttributeDto) { let value = attribute.value + "px" html.style.width = value } - setBorderHelper(html:HTMLElement, attributes: AttributeDto[]) { + setBorderHelper(html: HTMLElement, attributes: AttributeDto[]) { let borderWidth = Number(this.findGetAttributeValue("border_width", attributes, "0")) - let borderColor = this.findGetAttributeValue("border_color",attributes, "black") + let borderColor = this.findGetAttributeValue("border_color", attributes, "black") let borderStyle = "solid" this.setBorder(html, borderWidth, borderColor, borderStyle) } - setBorder(html:HTMLElement, borderWidth: number, borderColor: string, borderStyle: string) { + setBorder(html: HTMLElement, borderWidth: number, borderColor: string, borderStyle: string) { if (borderWidth > 0) { html.style.border = String(borderWidth) + "px " + borderStyle + " " + borderColor } } - addAttributes(html:HTMLElement, attributes : AttributeDto[]) { + addAttributes(html: HTMLElement, attributes: AttributeDto[]) { let attr_dict = [ - {key:"background_color",value:this.attrBackgroundColor}, - {key:"height", value:this.attrHeight}, - {key:"width", value:this.attrWidth}, + { key: "background_color", value: this.attrBackgroundColor }, + { key: "height", value: this.attrHeight }, + { key: "width", value: this.attrWidth }, ] attributes.forEach(attribute => { let index = attr_dict.findIndex(item => item.key == attribute.key) if (index >= 0) { - attr_dict[index].value(html,attribute) + attr_dict[index].value(html, attribute) } }) this.setHover(html, attributes) } - addGeneralAttributes(html:HTMLElement, attributes: AttributeDto[]) { - this.setGrid(html,attributes) + addGeneralAttributes(html: HTMLElement, attributes: AttributeDto[]) { + this.setGrid(html, attributes) this.setBorderHelper(html, attributes) } - setGrid(html: HTMLElement, attributes:AttributeDto[]) { + setGrid(html: HTMLElement, attributes: AttributeDto[]) { let gridRowStart = this.findAttribute("grid_row", attributes) let gridRowSpan = this.findAttribute("grid_row_span", attributes) @@ -86,7 +86,7 @@ export class AttributeHelperService { html.style.gridRow = String(gridRowStartN) + "/" + "span " + String(gridRowSpanN) } - + if (gridColumnStart != null) { let gridColumnStartN = Number(gridColumnStart.value) + 1 @@ -94,16 +94,16 @@ export class AttributeHelperService { } } - setHover(html: HTMLElement, attributes:AttributeDto[]) { + setHover(html: HTMLElement, attributes: AttributeDto[]) { - let onHover = this.findGetAttributeValue("on_hover", attributes,"false") - let onHoverBackgroundColor = this.findGetAttributeValue("on_hover_background_color", attributes,"white") - let onHoverForegroundColor = this.findGetAttributeValue("on_hover_foreground_color", attributes,"black") - let onHoverBorderColor = this.findGetAttributeValue("on_hover_border_color", attributes,"white") - let backgroundColor = this.findGetAttributeValue("background_color", attributes,"white") - let foregroundColor = this.findGetAttributeValue("foreground_color", attributes,"black") + let onHover = this.findGetAttributeValue("on_hover", attributes, "false") + let onHoverBackgroundColor = this.findGetAttributeValue("on_hover_background_color", attributes, "white") + let onHoverForegroundColor = this.findGetAttributeValue("on_hover_foreground_color", attributes, "black") + let onHoverBorderColor = this.findGetAttributeValue("on_hover_border_color", attributes, "white") + let backgroundColor = this.findGetAttributeValue("background_color", attributes, "white") + let foregroundColor = this.findGetAttributeValue("foreground_color", attributes, "black") let borderWidth = Number(this.findGetAttributeValue("border_width", attributes, "0")) - let borderColor = this.findGetAttributeValue("border_color",attributes, "black") + let borderColor = this.findGetAttributeValue("border_color", attributes, "black") let borderStyle = "solid" if (onHover == "true") { @@ -124,7 +124,7 @@ export class AttributeHelperService { } - textAttributes(html: HTMLElement, attributes : AttributeDto[]) { + textAttributes(html: HTMLElement, attributes: AttributeDto[]) { // NOw IS SUPPOSED TO BE SET WITH THE CLASSES @@ -133,66 +133,67 @@ export class AttributeHelperService { // let index = attributes.findIndex(item => item.key == "foreground_color") // if (index >= 0) { // color = String(attributes[index].value) - // } - // html.style.color = color + // } + // html.style.color = color // let fontSize = String(12) + "px" // let index = attributes.findIndex(item => item.key == "font_size") // if (index >= 0) { // fontSize = String(attributes[index].value) - // } + // } // html.style.fontSize = fontSize } - addClasses(html: Element, attributes : AttributeDto[], base_classes:string[], default_classes:string[], attrName: string ='class' ) { + addClasses(html: Element, attributes: AttributeDto[], base_classes: string[], default_classes: string[], attrName: string = 'class') { - base_classes.forEach(function (c){ + html.className = "" + base_classes.forEach(function (c) { html.classList.add(c) }) let added = false - attributes.forEach(function (item){ - if (item.key==attrName){ + attributes.forEach(function (item) { + if (item.key == attrName) { added = true let c = String(item.value) html.classList.add(c) } }) - if (!added){ - default_classes.forEach(function (c){ + if (!added) { + default_classes.forEach(function (c) { html.classList.add(c) }) } - + } setAttributesDirectly(html: HTMLElement, attributes: AttributeDto[]) { - attributes.forEach((attr : AttributeDto) => { + attributes.forEach((attr: AttributeDto) => { (html.style)[attr.key] = attr.value }) } - findAttribute(key:string, attributes: AttributeDto[]) : AttributeDto | null { - let value = null - let index = attributes.findIndex(attr => attr.key == key) - if (index >= 0) { - value = attributes[index] - } - return value + findAttribute(key: string, attributes: AttributeDto[]): AttributeDto | null { + let value = null + let index = attributes.findIndex(attr => attr.key == key) + if (index >= 0) { + value = attributes[index] + } + return value } findGetAttributeValue(key: string, attributes: AttributeDto[], defaultValue: string) { - let value = defaultValue - let index = attributes.findIndex(attr => attr.key == key) - if (index >= 0) { - value = attributes[index].value - } - return value + let value = defaultValue + let index = attributes.findIndex(attr => attr.key == key) + if (index >= 0) { + value = attributes[index].value + } + return value } - setAbsoulteRelativePositions(parentChildLayout:string, html:HTMLElement, child:ElementDto) { + setAbsoulteRelativePositions(parentChildLayout: string, html: HTMLElement, child: ElementDto) { let posX = Number(this.findGetAttributeValue("pos_x", child.attributes, "-1")) let posY = Number(this.findGetAttributeValue("pos_y", child.attributes, "-1")) @@ -225,7 +226,7 @@ export class AttributeHelperService { } - setChildLayout(html:HTMLElement, attributes: AttributeDto[]) { + setChildLayout(html: HTMLElement, attributes: AttributeDto[]) { let attribute = this.findAttribute("child_layout", attributes) let flex_direction = this.findAttribute("flex_direction", attributes) @@ -251,16 +252,16 @@ export class AttributeHelperService { } } else { html.style.display = "flex" - if (flex_direction != null){ + if (flex_direction != null) { html.style.flexDirection = flex_direction.value - }else { + } else { html.style.flexDirection = "column" } } } - setVisibility(html:HTMLElement, attributes:AttributeDto[]) { + setVisibility(html: HTMLElement, attributes: AttributeDto[]) { let visibilityAttribute = this.findAttribute("visibility", attributes) if (visibilityAttribute != null) { if (visibilityAttribute.value == "hidden" || visibilityAttribute.value == "collapse") { diff --git a/angular_frontend/src/app/button/button.component.ts b/angular_frontend/src/app/button/button.component.ts index eb8d4c35..0b0851d8 100644 --- a/angular_frontend/src/app/button/button.component.ts +++ b/angular_frontend/src/app/button/button.component.ts @@ -10,7 +10,7 @@ import { ElementLookupService } from '../element-lookup.service'; styleUrls: ['./button.component.scss'] }) export class ButtonComponent { - @ViewChild("theButton",{static:false}) theButton! : ElementRef + @ViewChild("theButton", { static: false }) theButton!: ElementRef @Input() element: ElementDto | null = null @Input() parentLayout: string = "" @@ -19,7 +19,7 @@ export class ButtonComponent { disabledAttribute: boolean = false // class: string = "" - constructor (private cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) {} + constructor(private cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) { } ngAfterViewInit(): void { @@ -34,37 +34,37 @@ export class ButtonComponent { } } - setAttributes(attributes : AttributeDto[]) { - this.buttonLabel = this.attributeService.findGetAttributeValue("label",attributes,"") - // this.class = this.attributeService.findGetAttributeValue("class", attributes, "") + setAttributes(attributes: AttributeDto[]) { + this.buttonLabel = this.attributeService.findGetAttributeValue("label", attributes, "") + // this.class = this.attributeService.findGetAttributeValue("class", attributes, "") - let htmlDdbut = this.theButton.nativeElement + let htmlDdbut = this.theButton.nativeElement - this.attributeService.setAttributesDirectly(htmlDdbut, attributes) - this.attributeService.addAttributes(htmlDdbut, attributes) - this.attributeService.textAttributes(htmlDdbut, attributes) - this.attributeService.addClasses(htmlDdbut, attributes, ["btn"], ["btn-info"]) - this.attributeService.addGeneralAttributes(htmlDdbut, attributes) - - if (this.element != null) { - this.attributeService.setAbsoulteRelativePositions(this.parentLayout, htmlDdbut, this.element) - } - - let icon = htmlDdbut.children.item(0) - - this.attributeService.addClasses(icon, attributes, ["fa"], [], 'icon') - - let stringDisabled = this.attributeService.findGetAttributeValue("disabled", attributes, "false") - if (stringDisabled == "false") { - this.disabledAttribute = false - } else if (stringDisabled == "true") { - this.disabledAttribute = true - } else { - console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): ") - console.log(stringDisabled) - this.disabledAttribute = false - } + this.attributeService.setAttributesDirectly(htmlDdbut, attributes) + this.attributeService.addAttributes(htmlDdbut, attributes) + this.attributeService.textAttributes(htmlDdbut, attributes) + this.attributeService.addClasses(htmlDdbut, attributes, ["btn"], ["btn-info"]) + this.attributeService.addGeneralAttributes(htmlDdbut, attributes) - this.cd.detectChanges() + if (this.element != null) { + this.attributeService.setAbsoulteRelativePositions(this.parentLayout, htmlDdbut, this.element) + } + + let icon = htmlDdbut.children.item(0) + + this.attributeService.addClasses(icon, attributes, ["fa"], [], 'icon') + + let stringDisabled = this.attributeService.findGetAttributeValue("disabled", attributes, "false") + if (stringDisabled == "false") { + this.disabledAttribute = false + } else if (stringDisabled == "true") { + this.disabledAttribute = true + } else { + console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): ") + console.log(stringDisabled) + this.disabledAttribute = false + } + + this.cd.detectChanges() } } diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index f5ccf94e..eff7270e 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -120,7 +120,7 @@ function handleUpdate(when: WhenDto, event: Event | null) { let id = splits[0] let key = splits[1] - let value = splits[2] + let value = splits[2].replaceAll('"', '') let elementLookup: ElementLookupDto | null = elementLookupService.getElement(id) @@ -155,6 +155,7 @@ function handleUpdate(when: WhenDto, event: Event | null) { if (elementLookup.object != null) { if ("setAttributes" in elementLookup.object) { if (elementLookup.object.setAttributes != undefined && typeof elementLookup.object.setAttributes === 'function') { + elementLookup.object.setAttributes(tmpAttributes) } } @@ -166,6 +167,7 @@ function handleUpdate(when: WhenDto, event: Event | null) { if (elementLookup.tagHtml != null) { let childBearerService = LocatorService.injector.get(ChildBearerService) + childBearerService.setChildTagAttributes(elementLookup.tagHtml, elementLookup.element) } @@ -178,6 +180,7 @@ function handleUpdate(when: WhenDto, event: Event | null) { } function replaceContext(policy_string: string) { + let contextService = LocatorService.injector.get(ContextService) let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\)) @@ -185,7 +188,9 @@ function replaceContext(policy_string: string) { // console.log("Replacing context") // console.log(policy_string) let match = regex.exec(policy_string) + while (match != null) { + // console.log("A match") let match_instance = match[0] @@ -196,20 +201,21 @@ function replaceContext(policy_string: string) { let new_value = contextService.retrieveContextValue(match_group) // console.log(new_value) if (new_value == null || new_value == "") { - // console.log("Is null") - if (!match_default == null) { + if (match_default == null) { throw new Error("Missing required value for " + match_group); } + new_value = match_default } + let isNumber = /^[0-9]*$/.test(new_value); let isConst = regex_const.test(new_value); // console.log("new value!", new_value) - let isQuoted = new_value.length > 1 && new_value[0] == '"' && new_value.slice(-1) == '"'; + // console.log("isQuoted", isQuoted) // console.log("isQuoted x", new_value[0]) // console.log("isQuoted x", new_value.slice(-1)) @@ -230,6 +236,8 @@ function replaceContext(policy_string: string) { throw new Error("Expected a constant that can be parsed to an atom, but got: " + new_value); } } + console.log("out"); + if (match_type == null && mustBeQuoted) { // console.log("Adding quotes 2") new_value = '"' + new_value + '"' @@ -249,7 +257,6 @@ function handleCallback(when: WhenDto, event: Event | null) { let policy_string = when.policy - policy_string = replaceContext(policy_string) when.policy = policy_string diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..0c351ef2 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverUrl": "http://localhost", + "serverPort": "8000" +} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 5fc2c726..747f8e6b 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -8,8 +8,8 @@ - + - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js similarity index 52% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js index d8fa56a9..857dcd83 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0cf53d8b0e1a302e.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-info","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){n.className="",s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}console.log("out"),null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.873dc2da1e53dafd.css similarity index 99% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.873dc2da1e53dafd.css index cc962e3f..adde38ce 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.89168e8acd1e2c30.css +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/styles.873dc2da1e53dafd.css @@ -2,4 +2,4 @@ * Bootstrap v5.3.1 (https://getbootstrap.com/) * Copyright 2011-2023 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.myspinner{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;justify-content:end;align-items:end} + */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0052CC;--bs-secondary: #6554C0;--bs-success: #36B37E;--bs-info: #B3BAC5;--bs-warning: #FFAB00;--bs-danger: #FF5630;--bs-light: #F4F5F7;--bs-dark: #212529;--bs-primary-rgb: 0, 82, 204;--bs-secondary-rgb: 101, 84, 192;--bs-success-rgb: 54, 179, 126;--bs-info-rgb: 179, 186, 197;--bs-warning-rgb: 255, 171, 0;--bs-danger-rgb: 255, 86, 48;--bs-light-rgb: 244, 245, 247;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #002152;--bs-secondary-text-emphasis: #28224d;--bs-success-text-emphasis: #164832;--bs-info-text-emphasis: #484a4f;--bs-warning-text-emphasis: #664400;--bs-danger-text-emphasis: #662213;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #ccdcf5;--bs-secondary-bg-subtle: #e0ddf2;--bs-success-bg-subtle: #d7f0e5;--bs-info-bg-subtle: #f0f1f3;--bs-warning-bg-subtle: #ffeecc;--bs-danger-bg-subtle: #ffddd6;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #99baeb;--bs-secondary-border-subtle: #c1bbe6;--bs-success-border-subtle: #afe1cb;--bs-info-border-subtle: #e1e3e8;--bs-warning-border-subtle: #ffdd99;--bs-danger-border-subtle: #ffbbac;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0052CC;--bs-link-color-rgb: 0, 82, 204;--bs-link-decoration: underline;--bs-link-hover-color: #0042a3;--bs-link-hover-color-rgb: 0, 66, 163;--bs-code-color: #d63384;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(0, 82, 204, .25);--bs-form-valid-color: #36B37E;--bs-form-valid-border-color: #36B37E;--bs-form-invalid-color: #FF5630;--bs-form-invalid-border-color: #FF5630}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6697e0;--bs-secondary-text-emphasis: #a398d9;--bs-success-text-emphasis: #86d1b2;--bs-info-text-emphasis: #d1d6dc;--bs-warning-text-emphasis: #ffcd66;--bs-danger-text-emphasis: #ff9a83;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #001029;--bs-secondary-bg-subtle: #141126;--bs-success-bg-subtle: #0b2419;--bs-info-bg-subtle: #242527;--bs-warning-bg-subtle: #332200;--bs-danger-bg-subtle: #33110a;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #00317a;--bs-secondary-border-subtle: #3d3273;--bs-success-border-subtle: #206b4c;--bs-info-border-subtle: #6b7076;--bs-warning-border-subtle: #996700;--bs-danger-border-subtle: #99341d;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6697e0;--bs-link-hover-color: #85ace6;--bs-link-color-rgb: 102, 151, 224;--bs-link-hover-color-rgb: 133, 172, 230;--bs-code-color: #e685b5;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-body-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0, 0, 0, .05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0, 0, 0, .1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0, 0, 0, .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: #ccdcf5;--bs-table-border-color: #b8c6dd;--bs-table-striped-bg: #c2d1e9;--bs-table-striped-color: #000;--bs-table-active-bg: #b8c6dd;--bs-table-active-color: #000;--bs-table-hover-bg: #bdcce3;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e0ddf2;--bs-table-border-color: #cac7da;--bs-table-striped-bg: #d5d2e6;--bs-table-striped-color: #000;--bs-table-active-bg: #cac7da;--bs-table-active-color: #000;--bs-table-hover-bg: #cfcce0;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d7f0e5;--bs-table-border-color: #c2d8ce;--bs-table-striped-bg: #cce4da;--bs-table-striped-color: #000;--bs-table-active-bg: #c2d8ce;--bs-table-active-color: #000;--bs-table-hover-bg: #c7ded4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #f0f1f3;--bs-table-border-color: #d8d9db;--bs-table-striped-bg: #e4e5e7;--bs-table-striped-color: #000;--bs-table-active-bg: #d8d9db;--bs-table-active-color: #000;--bs-table-hover-bg: #dedfe1;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #ffeecc;--bs-table-border-color: #e6d6b8;--bs-table-striped-bg: #f2e2c2;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d6b8;--bs-table-active-color: #000;--bs-table-hover-bg: #ecdcbd;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #ffddd6;--bs-table-border-color: #e6c7c1;--bs-table-striped-bg: #f2d2cb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6c7c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecccc6;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #F4F5F7;--bs-table-border-color: #dcddde;--bs-table-striped-bg: #e8e9eb;--bs-table-striped-color: #000;--bs-table-active-bg: #dcddde;--bs-table-active-color: #000;--bs-table-hover-bg: #e2e3e4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80a9e6;outline:0;box-shadow:0 0 0 .25rem #0052cc40}.form-check-input:checked{background-color:#0052cc;border-color:#0052cc}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0052cc;border-color:#0052cc;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2380a9e6'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #0052cc40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3cbf0}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-webkit-appearance:none;appearance:none;background-color:#0052cc;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3cbf0}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-tertiary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2336B37E' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23FF5630'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF5630' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.5em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: var(--bs-border-radius);--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0046ad;--bs-btn-hover-border-color: #0042a3;--bs-btn-focus-shadow-rgb: 38, 108, 212;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0042a3;--bs-btn-active-border-color: #003e99;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0052CC;--bs-btn-disabled-border-color: #0052CC}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5647a3;--bs-btn-hover-border-color: #51439a;--bs-btn-focus-shadow-rgb: 124, 110, 201;--bs-btn-active-color: #fff;--bs-btn-active-bg: #51439a;--bs-btn-active-border-color: #4c3f90;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6554C0;--bs-btn-disabled-border-color: #6554C0}.btn-success{--bs-btn-color: #000;--bs-btn-bg: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #54be91;--bs-btn-hover-border-color: #4abb8b;--bs-btn-focus-shadow-rgb: 46, 152, 107;--bs-btn-active-color: #000;--bs-btn-active-bg: #5ec298;--bs-btn-active-border-color: #4abb8b;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #36B37E;--bs-btn-disabled-border-color: #36B37E}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #bec4ce;--bs-btn-hover-border-color: #bbc1cb;--bs-btn-focus-shadow-rgb: 152, 158, 167;--bs-btn-active-color: #000;--bs-btn-active-bg: #c2c8d1;--bs-btn-active-border-color: #bbc1cb;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #B3BAC5;--bs-btn-disabled-border-color: #B3BAC5}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffb826;--bs-btn-hover-border-color: #ffb31a;--bs-btn-focus-shadow-rgb: 217, 145, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffbc33;--bs-btn-active-border-color: #ffb31a;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FFAB00;--bs-btn-disabled-border-color: #FFAB00}.btn-danger{--bs-btn-color: #000;--bs-btn-bg: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ff6f4f;--bs-btn-hover-border-color: #ff6745;--bs-btn-focus-shadow-rgb: 217, 73, 41;--bs-btn-active-color: #000;--bs-btn-active-bg: #ff7859;--bs-btn-active-border-color: #ff6745;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #FF5630;--bs-btn-disabled-border-color: #FF5630}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #cfd0d2;--bs-btn-hover-border-color: #c3c4c6;--bs-btn-focus-shadow-rgb: 207, 208, 210;--bs-btn-active-color: #000;--bs-btn-active-bg: #c3c4c6;--bs-btn-active-border-color: #b7b8b9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #F4F5F7;--bs-btn-disabled-border-color: #F4F5F7}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: #0052CC;--bs-btn-border-color: #0052CC;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0052CC;--bs-btn-hover-border-color: #0052CC;--bs-btn-focus-shadow-rgb: 0, 82, 204;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0052CC;--bs-btn-active-border-color: #0052CC;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0052CC;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0052CC;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6554C0;--bs-btn-border-color: #6554C0;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6554C0;--bs-btn-hover-border-color: #6554C0;--bs-btn-focus-shadow-rgb: 101, 84, 192;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6554C0;--bs-btn-active-border-color: #6554C0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #6554C0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6554C0;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #36B37E;--bs-btn-border-color: #36B37E;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #36B37E;--bs-btn-hover-border-color: #36B37E;--bs-btn-focus-shadow-rgb: 54, 179, 126;--bs-btn-active-color: #000;--bs-btn-active-bg: #36B37E;--bs-btn-active-border-color: #36B37E;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #36B37E;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #36B37E;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #B3BAC5;--bs-btn-border-color: #B3BAC5;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #B3BAC5;--bs-btn-hover-border-color: #B3BAC5;--bs-btn-focus-shadow-rgb: 179, 186, 197;--bs-btn-active-color: #000;--bs-btn-active-bg: #B3BAC5;--bs-btn-active-border-color: #B3BAC5;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #B3BAC5;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #B3BAC5;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #FFAB00;--bs-btn-border-color: #FFAB00;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FFAB00;--bs-btn-hover-border-color: #FFAB00;--bs-btn-focus-shadow-rgb: 255, 171, 0;--bs-btn-active-color: #000;--bs-btn-active-bg: #FFAB00;--bs-btn-active-border-color: #FFAB00;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FFAB00;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FFAB00;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #FF5630;--bs-btn-border-color: #FF5630;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #FF5630;--bs-btn-hover-border-color: #FF5630;--bs-btn-focus-shadow-rgb: 255, 86, 48;--bs-btn-active-color: #000;--bs-btn-active-bg: #FF5630;--bs-btn-active-border-color: #FF5630;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #FF5630;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #FF5630;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #F4F5F7;--bs-btn-border-color: #F4F5F7;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #F4F5F7;--bs-btn-hover-border-color: #F4F5F7;--bs-btn-focus-shadow-rgb: 244, 245, 247;--bs-btn-active-color: #000;--bs-btn-active-bg: #F4F5F7;--bs-btn-active-border-color: #F4F5F7;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #F4F5F7;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #F4F5F7;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 108, 212;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0052CC;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn~.btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0052cc40}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0052CC}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:hover,.nav-underline .nav-link:focus{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: var(--bs-body-color);--bs-accordion-bg: var(--bs-body-bg);--bs-accordion-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: var(--bs-border-width);--bs-accordion-border-radius: var(--bs-border-radius);--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: var(--bs-body-color);--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform .2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23002152'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #80a9e6;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: var(--bs-primary-text-emphasis);--bs-accordion-active-bg: var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236697e0'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: var(--bs-secondary-color);--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size: 1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: var(--bs-body-bg);--bs-pagination-border-width: var(--bs-border-width);--bs-pagination-border-color: var(--bs-border-color);--bs-pagination-border-radius: var(--bs-border-radius);--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: var(--bs-tertiary-bg);--bs-pagination-hover-border-color: var(--bs-border-color);--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: var(--bs-secondary-bg);--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0052CC;--bs-pagination-active-border-color: #0052CC;--bs-pagination-disabled-color: var(--bs-secondary-color);--bs-pagination-disabled-bg: var(--bs-secondary-bg);--bs-pagination-disabled-border-color: var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size: 1.25rem;--bs-pagination-border-radius: var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size: .875rem;--bs-pagination-border-radius: var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size: .75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: var(--bs-secondary-bg);--bs-progress-border-radius: var(--bs-border-radius);--bs-progress-box-shadow: var(--bs-box-shadow-inset);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0052CC;--bs-progress-bar-transition: width .6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: var(--bs-body-color);--bs-list-group-bg: var(--bs-body-bg);--bs-list-group-border-color: var(--bs-border-color);--bs-list-group-border-width: var(--bs-border-width);--bs-list-group-border-radius: var(--bs-border-radius);--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: var(--bs-secondary-color);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);--bs-list-group-action-active-color: var(--bs-body-color);--bs-list-group-action-active-bg: var(--bs-secondary-bg);--bs-list-group-disabled-color: var(--bs-secondary-color);--bs-list-group-disabled-bg: var(--bs-body-bg);--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0052CC;--bs-list-group-active-border-color: #0052CC;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color: var(--bs-primary-text-emphasis);--bs-list-group-bg: var(--bs-primary-bg-subtle);--bs-list-group-border-color: var(--bs-primary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-primary-border-subtle);--bs-list-group-active-color: var(--bs-primary-bg-subtle);--bs-list-group-active-bg: var(--bs-primary-text-emphasis);--bs-list-group-active-border-color: var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color: var(--bs-secondary-text-emphasis);--bs-list-group-bg: var(--bs-secondary-bg-subtle);--bs-list-group-border-color: var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);--bs-list-group-active-color: var(--bs-secondary-bg-subtle);--bs-list-group-active-bg: var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color: var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color: var(--bs-success-text-emphasis);--bs-list-group-bg: var(--bs-success-bg-subtle);--bs-list-group-border-color: var(--bs-success-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-success-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-success-border-subtle);--bs-list-group-active-color: var(--bs-success-bg-subtle);--bs-list-group-active-bg: var(--bs-success-text-emphasis);--bs-list-group-active-border-color: var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color: var(--bs-info-text-emphasis);--bs-list-group-bg: var(--bs-info-bg-subtle);--bs-list-group-border-color: var(--bs-info-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-info-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-info-border-subtle);--bs-list-group-active-color: var(--bs-info-bg-subtle);--bs-list-group-active-bg: var(--bs-info-text-emphasis);--bs-list-group-active-border-color: var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color: var(--bs-warning-text-emphasis);--bs-list-group-bg: var(--bs-warning-bg-subtle);--bs-list-group-border-color: var(--bs-warning-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-warning-border-subtle);--bs-list-group-active-color: var(--bs-warning-bg-subtle);--bs-list-group-active-bg: var(--bs-warning-text-emphasis);--bs-list-group-active-border-color: var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color: var(--bs-danger-text-emphasis);--bs-list-group-bg: var(--bs-danger-bg-subtle);--bs-list-group-border-color: var(--bs-danger-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-danger-border-subtle);--bs-list-group-active-color: var(--bs-danger-bg-subtle);--bs-list-group-active-bg: var(--bs-danger-text-emphasis);--bs-list-group-active-border-color: var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color: var(--bs-light-text-emphasis);--bs-list-group-bg: var(--bs-light-bg-subtle);--bs-list-group-border-color: var(--bs-light-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-light-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-light-border-subtle);--bs-list-group-active-color: var(--bs-light-bg-subtle);--bs-list-group-active-bg: var(--bs-light-text-emphasis);--bs-list-group-active-border-color: var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color: var(--bs-dark-text-emphasis);--bs-list-group-bg: var(--bs-dark-bg-subtle);--bs-list-group-border-color: var(--bs-dark-border-subtle);--bs-list-group-action-hover-color: var(--bs-emphasis-color);--bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);--bs-list-group-action-active-color: var(--bs-emphasis-color);--bs-list-group-action-active-bg: var(--bs-dark-border-subtle);--bs-list-group-active-color: var(--bs-dark-bg-subtle);--bs-list-group-active-bg: var(--bs-dark-text-emphasis);--bs-list-group-active-border-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(0, 82, 204, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow:before,.popover .popover-arrow:after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header:before,.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow:before,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas-sm,.offcanvas-md,.offcanvas-lg,.offcanvas-xl,.offcanvas-xxl,.offcanvas{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: var(--bs-body-color);--bs-offcanvas-bg: var(--bs-body-bg);--bs-offcanvas-border-width: var(--bs-border-width);--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-offcanvas-transition: transform .3s ease-in-out;--bs-offcanvas-title-line-height: 1.5}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translate(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn:before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#000!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#000!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(0,66,163,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(0,66,163,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(81,67,154,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(81,67,154,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(94,194,152,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(94,194,152,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(194,200,209,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(194,200,209,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,188,51,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,188,51,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(255,120,89,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,120,89,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(246,247,249,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(246,247,249,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-sm{box-shadow:0 .125rem .25rem #00000013!important}.shadow-lg{box-shadow:0 1rem 3rem #0000002d!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.myspinner{position:fixed;top:0;left:0;opacity:70%;width:100%;height:100%;z-index:9999;display:flex;justify-content:end;align-items:end} diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index ccec26d6..33c208f2 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -189,7 +189,7 @@ def _load_and_add(self): for atom in self._atoms: self._ctl.add("base", [], str(atom) + ".") - self._logger.debug(fdomctl_log('domctl.add("base", [], {str(atom)} + ".")')) + self._logger.debug(domctl_log('domctl.add("base", [], {str(atom)} + ".")')) def _load_file(self, f): """ diff --git a/docs/conf.py b/docs/conf.py index 3fe8f5b4..7503314f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -34,7 +34,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.8" +release = "1.0.9" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 26ddd4d9..dd686601 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.8 +version = 1.0.9 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index c7fccc2f..1f5c0006 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.8", + "version": "1.0.9", "description": "An interactive visualizer for clingo", } From 59de71828fa73c0d1ff256ea62b51ca37e419505 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 17 Jun 2024 15:38:10 -0600 Subject: [PATCH 32/61] Fixed requirements --- .github/conda/meta.yaml | 1 + .github/deploy.yml | 3 ++- docs/conf.py | 1 + docs/requirements.txt | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/conda/meta.yaml b/.github/conda/meta.yaml index 591f1d85..505462cc 100644 --- a/.github/conda/meta.yaml +++ b/.github/conda/meta.yaml @@ -24,6 +24,7 @@ requirements: - uvicorn - clingraph - Pillow + - clingexplaid build: number: {{ build }} diff --git a/.github/deploy.yml b/.github/deploy.yml index e06fe958..5f3b2d89 100644 --- a/.github/deploy.yml +++ b/.github/deploy.yml @@ -16,7 +16,7 @@ pip: conda: package_name: 'clinguin' - os: + os: - 'ubuntu-latest' channels_release: - 'potassco' @@ -48,6 +48,7 @@ conda: - uvicorn - clingraph - Pillow + - clingexplaid build: noarch: python diff --git a/docs/conf.py b/docs/conf.py index 7503314f..39778f60 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,6 +25,7 @@ "uvicorn", "clingodl", "clingraph", + "clingexplaid", ] # -- Project information ----------------------------------------------------- diff --git a/docs/requirements.txt b/docs/requirements.txt index 94c28aaa..69c8f202 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,4 +14,5 @@ nbsphinx>=0.8.8 jinja2>=3.0.3 clingo-dl furo +clingexplaid From 971096115d92bca1e0b9f26881776f3d8978ec78 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 17 Jun 2024 15:42:50 -0600 Subject: [PATCH 33/61] Version update --- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 39778f60..3de7a682 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.9" +release = "1.0.11" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index dd686601..759f7979 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.9 +version = 1.0.11 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 1f5c0006..2ffd056b 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.9", + "version": "1.0.11", "description": "An interactive visualizer for clingo", } From f0878d650d123f9c782b8d2f8415fdc097c7a73c Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 17 Jun 2024 15:48:33 -0600 Subject: [PATCH 34/61] Version update --- .github/requirements.txt | 3 ++- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/requirements.txt b/.github/requirements.txt index ee265ea6..2b256248 100644 --- a/.github/requirements.txt +++ b/.github/requirements.txt @@ -5,4 +5,5 @@ fastapi==0.103.* networkx uvicorn clingraph -Pillow \ No newline at end of file +Pillow +clingexplaid \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 3de7a682..0aeff381 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.11" +release = "1.0.12" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 759f7979..5b90fbbb 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.11 +version = 1.0.12 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 2ffd056b..6b4df37d 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.11", + "version": "1.0.12", "description": "An interactive visualizer for clingo", } From b7e83c0e7e7038ae3e61df9e5646f574cec35e0c Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 11 Jun 2024 11:24:02 -0600 Subject: [PATCH 35/61] Optimization backend --- .../server/application/backends/__init__.py | 5 + .../application/backends/clingo_backend.py | 6 +- .../backends/clingo_optimize_backend.py | 187 +++++++++++++++ .../angular/placement_optimized/README.md | 17 ++ .../angular/placement_optimized/encoding.lp | 13 ++ .../angular/placement_optimized/instance.lp | 17 ++ examples/angular/placement_optimized/out1.png | Bin 0 -> 124541 bytes examples/angular/placement_optimized/out2.png | Bin 0 -> 128776 bytes examples/angular/placement_optimized/out3.png | Bin 0 -> 147493 bytes examples/angular/placement_optimized/ui.lp | 213 ++++++++++++++++++ 10 files changed, 455 insertions(+), 3 deletions(-) create mode 100644 clinguin/server/application/backends/clingo_optimize_backend.py create mode 100644 examples/angular/placement_optimized/README.md create mode 100644 examples/angular/placement_optimized/encoding.lp create mode 100644 examples/angular/placement_optimized/instance.lp create mode 100644 examples/angular/placement_optimized/out1.png create mode 100644 examples/angular/placement_optimized/out2.png create mode 100644 examples/angular/placement_optimized/out3.png create mode 100644 examples/angular/placement_optimized/ui.lp diff --git a/clinguin/server/application/backends/__init__.py b/clinguin/server/application/backends/__init__.py index d513615c..342d7f87 100644 --- a/clinguin/server/application/backends/__init__.py +++ b/clinguin/server/application/backends/__init__.py @@ -1,6 +1,7 @@ """ Module that contains the default backends ClingoMultishotBackend, ClingraphBackend and TemporalBackend. """ + # pylint: disable=cyclic-import from clinguin.server.application.backends.clingo_backend import ClingoBackend from clinguin.server.application.backends.clingo_multishot_backend import ( @@ -9,6 +10,9 @@ from clinguin.server.application.backends.clingodl_backend import ClingoDLBackend from clinguin.server.application.backends.clingraph_backend import ClingraphBackend from clinguin.server.application.backends.explanation_backend import ExplanationBackend +from clinguin.server.application.backends.clingo_optimize_backend import ( + ClingoOptimizeBackend, +) __all__ = [ ClingoMultishotBackend.__name__, @@ -16,4 +20,5 @@ ExplanationBackend.__name__, ClingoBackend.__name__, ClingoDLBackend.__name__, + ClingoOptimizeBackend.__name__, ] diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 33c208f2..46fa15d5 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -430,7 +430,7 @@ def _ds_model(self): self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "auto" self._logger.debug( - domctl_log('domctl.configuration.solve.enum_mode = "auto"') + domctl_log('domctlconfiguration.solve.enum_mode = "auto"') ) self._prepare() @@ -606,7 +606,7 @@ def next_solution(self, opt_mode="ignore"): self._ctl.configuration.solve.opt_mode = opt_mode self._ctl.configuration.solve.models = 0 self._logger.debug( - domctl_log(f"domctl.configuration.solve.opt_mode = {opt_mode}") + domctl_log(f"domctlconfiguration.solve.opt_mode = {opt_mode}") ) self._prepare() @@ -615,7 +615,7 @@ def next_solution(self, opt_mode="ignore"): ) self._logger.debug( domctl_log( - f"domctl.solve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" + f"domctlsolve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" ) ) diff --git a/clinguin/server/application/backends/clingo_optimize_backend.py b/clinguin/server/application/backends/clingo_optimize_backend.py new file mode 100644 index 00000000..ac39147a --- /dev/null +++ b/clinguin/server/application/backends/clingo_optimize_backend.py @@ -0,0 +1,187 @@ +""" +Module that contains the ClingoDL Backend. +""" + +from clingo.script import enable_python +from functools import cached_property + +from clinguin.server.application.backends.clingo_multishot_backend import ( + ClingoMultishotBackend, +) + +from ....utils.logger import domctl_log +from clinguin.server.data.domain_state import solve, tag + +enable_python() +# pylint: disable=attribute-defined-outside-init + + +class ClingoOptimizeBackend(ClingoMultishotBackend): + """ """ + + def __init__(self, args): + super().__init__(args) + + # Model should be the last call so that the on_model takes the assignment of the model + # and not of the cautious consequences + self._domain_state_constructors.remove("_ds_model") + self._add_domain_state_constructor("_ds_cautious_optimal") + self._add_domain_state_constructor("_ds_brave_optimal") + self._add_domain_state_constructor("_ds_model_optimal") + + self._add_domain_state_constructor("_ds_opt") + + self._cost = [] # Set in on_model + self._optimal = False # Set in on_model + self._optimizing = False # Set in on_model + + # --------------------------------------------- + # Setups + # --------------------------------------------- + + # --------------------------------------------- + # Solving + # --------------------------------------------- + + def _on_model(self, model): + super()._on_model(model) + self._optimizing = len(model.cost) > 0 + self._optimal = model.optimality_proven + self._cost = model.cost + + # --------------------------------------------- + # Domain state + # --------------------------------------------- + + @property + def _ds_opt(self): + """ + Additional program to pass to the UI with optimality info + """ + prg = "#defined _clinguin_cost/2.\n#defined _clinguin_cost/1.\n#defined _clinguin_optimal/1.\n" + prg += f"_clinguin_cost({tuple(self._cost)}).\n" + + for i, c in enumerate(self._cost): + prg += f"_clinguin_cost({i},{c}).\n" + if self._optimal: + prg += "_clinguin_optimal.\n" + if self._optimizing: + prg += "_clinguin_optimizing.\n" + return prg + + @cached_property + def _ds_brave_optimal(self): + """ + Computes brave consequences adds them as predicates ``_any/1``. + + It uses a cache that is erased after an operation makes changes in the control. + """ + self._logger.debug("Getting Brave...") + if self._is_browsing: + return ( + self._backup_ds_cache["_ds_brave_optimal"] + if "_ds_brave" in self._backup_ds_cache + else "" + ) + self._ctl.configuration.solve.models = 0 + self._ctl.configuration.solve.opt_mode = "optN" + self._ctl.configuration.solve.enum_mode = "brave" + self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) + self._prepare() + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + self._unsat_core = ucore + if symbols is None: + self._logger.warning("Got an UNSAT result with the given domain encoding.") + return ( + self._backup_ds_cache["_ds_brave_optimal"] + if "_ds_brave" in self._backup_ds_cache + else "" + ) + return " ".join([str(s) + "." for s in list(tag(symbols, "_any_opt"))]) + "\n" + + @cached_property + def _ds_cautious_optimal(self): + """ + Computes cautious consequences adds them as predicates ``_all/1``. + + It uses a cache that is erased after an operation makes changes in the control. + """ + self._logger.debug("Getting Cautious...") + if self._is_browsing: + return ( + self._backup_ds_cache["_ds_cautious_optimal"] + if "_ds_cautious" in self._backup_ds_cache + else "" + ) + self._ctl.configuration.solve.models = 0 + self._ctl.configuration.solve.opt_mode = "optN" + self._ctl.configuration.solve.enum_mode = "cautious" + self._logger.debug( + domctl_log('domctl.configuration.solve.enum_mode = "cautious"') + ) + self._prepare() + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + self._unsat_core = ucore + if symbols is None: + self._logger.warning("Got an UNSAT result with the given domain encoding.") + return ( + self._backup_ds_cache["_ds_cautious_optimal"] + if "_ds_cautious" in self._backup_ds_cache + else "" + ) + + return " ".join([str(s) + "." for s in list(tag(symbols, "_all_opt"))]) + "\n" + + @cached_property + def _ds_model_optimal(self): + """ + Computes a model if one has not been set yet. + When the model is being iterated by the user, the current model is returned. + It uses a cache that is erased after an operation makes changes in the control. + """ + self._logger.debug("Getting Model...") + if self._model is None: + self._ctl.configuration.solve.models = 1 + self._ctl.configuration.solve.opt_mode = "optN" + self._ctl.configuration.solve.enum_mode = "auto" + self._logger.debug( + domctl_log('domctlconfiguration.solve.enum_mode = "auto"') + ) + + self._prepare() + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + ) + self._logger.debug( + domctl_log( + f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + self._unsat_core = ucore + if symbols is None: + self._logger.warning( + "Got an UNSAT result with the given domain encoding." + ) + return ( + self._backup_ds_cache["_ds_model_optimal"] + + "\n".join([str(a) + "." for a in self._atoms]) + if "_ds_model" in self._backup_ds_cache + else "" + ) + self._model = symbols + + return " ".join([str(s) + "." for s in self._model]) + "\n" diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md new file mode 100644 index 00000000..9d6d7b27 --- /dev/null +++ b/examples/angular/placement_optimized/README.md @@ -0,0 +1,17 @@ +## Placement + +- **Backend**: `ClingoMultishotBackend` +- **Frontend**: `AngularFrontend` + +Showcases multiple features of the web fronted in the form of a smart seat placement application + + +### Usage + +``` +clinguin client-server --frontend AngularFrontend --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp --backend ClingoOptimizeBackend +``` + +![](out1.png) +![](out2.png) +![](out3.png) diff --git a/examples/angular/placement_optimized/encoding.lp b/examples/angular/placement_optimized/encoding.lp new file mode 100644 index 00000000..ceee3e8a --- /dev/null +++ b/examples/angular/placement_optimized/encoding.lp @@ -0,0 +1,13 @@ + +% #external setting_seats. +#external include(P):person(P). + +1{assign(seat(S,T),P):seat(S,T)}1:-include(P). + +:- assign(B,P1),assign(B,P2),P1Wy_aN`h;iNAC}w4<>`&`L6Rh z4ky?A;2?hP5+&2YX~B`{WB?Kn?#dHYZnC6HO*cD70pHV}}%s@{pl|YA9BN@0khj2Ci;Y62eR-S|eCd z{j!J1*Pa}H@)=lFqHDB@U!ucxF?Ud*^2SL_Q@+w8#H6nl!>$S9jN?y-EF}*iz=thC z?2wr#OSXopDBwcZlSeW_=dui24T=3g0#O7S8vp3EEcTX<>&0EkV6kMwe)*K3d!TcC z0;CeitC$YT9kF7(VVmzAZ~LtTtb#UUjh!r2|VnuGe)EnkvQM4bE| zruDsFf<+(K>aF}u{C|iahS6<`NDJeXN4pkb-L=w-(CUt6i=TegL94?1Lc7-oL%%pQ zEA^=6a>WbkWm2|I5hU^FgNI{6gZLu~Wk-+!)ev0JSX+U*G2#~r0T(R>yY;~jhJ%wr zZGkd;QCAiIEj$|aDst#?%=fVX;>sxM)8jlz$(S#aIb}l+X0)3a-f+l0#xmV@T?_Oj z9(!nz_u;S62++YVhO_tk7qsVG6LA{-9@$92nfXYjn2>%5Q+T#$>#νZ|G{l-j^L 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%0Ap6 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

NdrL>u!qzjAdCOMsx2Ub=`Sif`~~}W{DA+T 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

LdB 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 literal 0 HcmV?d00001 diff --git a/examples/angular/placement_optimized/ui.lp b/examples/angular/placement_optimized/ui.lp new file mode 100644 index 00000000..ce35949f --- /dev/null +++ b/examples/angular/placement_optimized/ui.lp @@ -0,0 +1,213 @@ +%%%%%%%%%%%%%%%%%%%%%%%% +% WINDOW +%%%%%%%%%%%%%%%%%%%%%%%% +elem(window, window, root). +attr(window, child_layout, flex). +attr(window, flex_direction, row). + + + %%%%%%%%%%%%%%%%%%%%%%%% + % MODAL + %%%%%%%%%%%%%%%%%%%%%%%% + + elem(modal, modal, window). + attr(modal, title, "Add person"). + attr(modal, size, "xl"). + + elem(c1, container, modal). + attr(c1, child_layout, flex). + attr(c1, flex_direction, row_reverse). + attr(c1, class, "align-items-center"). + + elem(t1, textfield, c1). + attr(t1, placeholder, "Enter the name of the person"). + attr(t1, width, 250). + when(t1, input, context, (t1_content, _value)). + + elem(b1, button, c1). + when(b1, click, call, (add_atom(person(_context_value(t1_content))), + set_external(include(_context_value(t1_content)),true))). + attr(b1, label, "Add"). + attr(b1, class, "m-1"). + attr(b1, class, "btn-secondary"). + attr(b1, icon, "fa-plus"). + + + %%%%%%%%%%%%%%%%%%%%%%%% + % ALL PEOPLE + %%%%%%%%%%%%%%%%%%%%%%%% + + elem(people, container, window). + attr(people, class, "w-25"). + attr(people, child_layout, "flex"). + attr(people, flex_direction, "row"). + + elem(add_button, button, people). + attr(add_button, icon, "fa-user-plus"). + attr(add_button, class, "btn-secondary"). + attr(add_button, class, "bg-opacity-50"). + attr(add_button, class, "border-info"). + attr(add_button, child_layout, flex). + attr(add_button, flex_direction, column). + when(add_button, click, update, (modal, visible, shown)). + + elem(list_people, container, people). + attr(tables, class, "w-25"). + attr(tables, order, 1). + attr(list_people, class, "rounded"). + attr(list_people, class, "bg-secondary"). + attr(list_people, class, "bg-opacity-50"). + attr(list_people, class, "p-4"). + attr(list_people, class, "align-items-start"). + + elem(person_l(P), label, list_people):- person(P). + attr(person_l(P), label, P):- person(P). + attr(person_l(P), class, "text-capitalize"):- person(P). + + %%%%%%%%%%%%%%%%%%%%%%%% + % PEOPLE INCLUDED + %%%%%%%%%%%%%%%%%%%%%%%% + + elem(included, container, window). + attr(included, class, "bg-info"). + attr(included, class, "w-25"). + attr(included, class, "p-4"). + attr(included, class, "rounded"). + attr(included, order, 2). + attr(included, child_layout, "flex"). + + elem(included(P), container, included):- person(P). + attr(included(P), flex_direction, row):- person(P). + attr(included(P), class, "align-items-center"):- person(P). + + elem(included_l(P), container, included(P)):- person(P). + attr(included_l(P), class, "w-75"):- person(P). + attr(included_l(P), flex_direction, row):- person(P). + + elem(included_btn(P), button, included_l(P)):- person(P). + attr(included_btn(P), class, "btn-sm"):- person(P). + attr(included_btn(P), class, "rounded-circle"):- person(P). + attr(included_btn(P), icon, "fa-circle-check"):- person(P), include(P). + attr(included_btn(P), icon, "fa-circle-xmark"):- person(P), not include(P). + attr(included_btn(P), class, "text-success"):- person(P), include(P). + attr(included_btn(P), class, "text-danger"):- person(P), not include(P). + + elem(included_label(P), label, included_l(P)):- person(P). + attr(included_label(P), label, P):- person(P). + attr(included_label(P), class, "text-capitalize"):- person(P). + + elem(included_any(P), container, included(P)):- person(P). + attr(included_any(P), flex_direction, row):- person(P). + + + elem(included_btn_add(P), button, included_any(P)):- person(P). + attr(included_btn_add(P), class, "btn-sm"):- person(P). + attr(included_btn_add(P), class, "btn-outline-dark"):- person(P). + attr(included_btn_add(P), class, "m-1"):- person(P). + attr(included_btn_add(P), label, "Add"):- person(P), not include(P). + attr(included_btn_add(P), label, "Remove"):- person(P), include(P). + when(included_btn_add(P), click, call, set_external(include(P),true)) :- person(P), not include(P). + when(included_btn_add(P), click, call, set_external(include(P),false)) :- person(P), include(P). + + + + %%%%%%%%%%%%%%%%%%%%%%%% + % Table setup + %%%%%%%%%%%%%%%%%%%%%%%% + + + elem(tables, container, window). + attr(tables, order, 3). + attr(tables, class, "w-50"). + + + elem(table(T), container, tables):-table(T,_). + attr(table(T), flex_direction, "row"):-table(T,_). + attr(table(T), class, "border"):-table(T,L). + attr(table(T), class, "bg-primary"):-table(T,L). + attr(table(T), class, "bg-opacity-50"):-table(T,L). + attr(table(T), class, "rounded"):-table(T,L). + attr(table(T), class, "m-2"):-table(T,L). + attr(table(T), class, "p-4"):-table(T,L). + + elem(table_label_container(T), container, table(T)):-table(T,_). + attr(table_label_container(T), order, 1):-table(T,_). + attr(table_label_container(T), class, "align-self-center"):-table(T,_). + + elem(table_label(T), label, table_label_container(T)):-table(T,_). + attr(table_label(T), label, L):-table(T,L). + attr(table_label(T), class, "font-weight-bold"):-table(T,L). + attr(table_label(T), "font-size", "20px"):-table(T,L). + attr(table_label(T), class, "align-middle"):-table(T,L). + + elem(table_dropdowns(T), container, table(T)):-table(T,_). + attr(table_dropdowns(T), order, 2):-table(T,_). + attr(table_dropdowns(T), class, "m-2"):-table(T,_). + + elem(table_seat(S,T), dropdown_menu, table_dropdowns(T)):-seat(S,T). + attr(table_seat(S,T), class, "btn-sm"):-seat(S,T). + attr(table_seat(S,T), class, "btn-primary"):-seat(S,T). + attr(table_seat(S,T), class, "m-1"):-seat(S,T). + attr(table_seat(S,T), selected, P):- _all(assign(seat(S,T),P)). + attr(table_seat(S,T), selected, P):- assign(seat(S,T),P), _clinguin_browsing. + + elem(table_seat_remove(S,T), dropdown_menu_item, table_seat(S,T)):-seat(S,T). + attr(table_seat_remove(S,T), icon, "fa-ban"):-seat(S,T). + attr(table_seat_remove(S,T), class, "text-info"):-seat(S,T). + when(table_seat_remove(S,T), click, call, remove_assumption_signature(assign(seat(S,T),any))):-seat(S,T). + + elem(table_seat_p(T,S,P), dropdown_menu_item, table_seat(S,T)):-seat(S,T), person(P). + when(table_seat_p(T,S,P), click, call, add_assumption(assign(seat(S,T),P))):- seat(S,T), person(P). + attr(table_seat_p(T,S,P), class, "text-capitalize"):- seat(S,T), person(P). + attr(table_seat_p(T,S,P), label, P):-seat(S,T), person(P). + attr(table_seat_p(T,S,P), class,( "text-danger";"disabled")):- not _any(assign(seat(S,T),P)), seat(S,T), person(P). + attr(table_seat_p(T,S,P), icon, "fa-face-frown"):- not _any(assign(seat(S,T),P)), seat(S,T), person(P). + attr(table_seat_p(T,S,P), class, "text-warning"):- _any(assign(seat(S,T),P)), not _any_opt(assign(seat(S,T),P)). + attr(table_seat_p(T,S,P), icon, "fa-face-meh"):- _any(assign(seat(S,T),P)), not _any_opt(assign(seat(S,T),P)). + attr(table_seat_p(T,S,P), class, "text-success"):- _any_opt(assign(seat(S,T),P)). + attr(table_seat_p(T,S,P), icon, "fa-face-smile"):- _any_opt(assign(seat(S,T),P)). + + %%%%%%%%%%%%%%%%%%%%%%%% + % Menu bar + %%%%%%%%%%%%%%%%%%%%%%%% + + elem(menu_bar, menu_bar, window). + attr(menu_bar, title, "Smart placement"). + attr(menu_bar, icon, "fa-utensils"). + + + elem(menu_bar_restart, button, menu_bar). + attr(menu_bar_restart, label, "Restart"). + attr(menu_bar_restart, icon, "fa-arrows-rotate"). + attr(menu_bar_restart, class, "btn-outline-danger"). + attr(menu_bar_restart, class, "border-0"). + when(menu_bar_restart, click, call, restart). + + elem(menu_bar_clear, button, menu_bar). + attr(menu_bar_clear, label, "Clear"). + attr(menu_bar_clear, icon, "fa-trash"). + attr(menu_bar_clear, class, "btn-outline-danger"). + attr(menu_bar_clear, class, "border-0"). + when(menu_bar_clear, click, call, clear_assumptions). + + + elem(menu_bar_download, button, menu_bar). + attr(menu_bar_download, label, "Download"). + attr(menu_bar_download, icon, "fa-download"). + when(menu_bar_download, click, call, download). + + + elem(menu_bar_select, button, menu_bar). + attr(menu_bar_select, label, "Select solution"). + attr(menu_bar_select, icon, "fa-hand-pointer"). + when(menu_bar_select, click, call, select). + + elem(menu_bar_next_opt, button, menu_bar). + attr(menu_bar_next_opt, label, "Next Optimal"). + attr(menu_bar_next_opt, icon, "fa-forward-fast"). + when(menu_bar_next_opt, click, call, next_solution(optN)). + + elem(menu_bar_next, button, menu_bar). + attr(menu_bar_next, label, "Next"). + attr(menu_bar_next, icon, "fa-forward-step"). + when(menu_bar_next, click, call, next_solution). From 189cc8f6b9e2381057361a847ca67b976682dcc0 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 19 Jun 2024 16:23:06 -0600 Subject: [PATCH 36/61] On demand domain-constructors --- .../assets/config.json | 5 +- .../application/backends/clingo_backend.py | 213 +++++++++++------- .../backends/clingo_optimize_backend.py | 187 --------------- clinguin/server/data/ui_state.py | 2 + clinguin/utils/transformer.py | 23 ++ .../angular/placement_optimized/README.md | 2 +- 6 files changed, 155 insertions(+), 277 deletions(-) delete mode 100644 clinguin/server/application/backends/clingo_optimize_backend.py create mode 100644 clinguin/utils/transformer.py diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 0c351ef2..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverUrl": "http://localhost", - "serverPort": "8000" -} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 46fa15d5..079c981e 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -5,6 +5,7 @@ import logging from functools import cached_property from pathlib import Path +import functools from clingo import Control, parse_term from clingo.script import enable_python @@ -13,6 +14,7 @@ from clinguin.server.data.domain_state import solve, tag from ....utils.logger import domctl_log +from ....utils.transformer import UsesSignatureTransformer enable_python() # pylint: disable=attribute-defined-outside-init @@ -55,12 +57,15 @@ def __init__(self, args): self._init_ctl() self._ground() - self._add_domain_state_constructor("_ds_brave") - self._add_domain_state_constructor("_ds_cautious") - self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious self._add_domain_state_constructor("_ds_context") + self._add_domain_state_constructor("_ds_opt") self._add_domain_state_constructor("_ds_unsat") self._add_domain_state_constructor("_ds_browsing") + self._add_domain_state_constructor("_ds_cautious_optimal") + self._add_domain_state_constructor("_ds_brave_optimal") + self._add_domain_state_constructor("_ds_cautious") + self._add_domain_state_constructor("_ds_brave") + self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious # --------------------------------------------- # Class methods @@ -139,6 +144,10 @@ def _init_setup(self): self._ui_state = None self._messages = [] + self._cost = [] # Set in on_model + self._optimal = False # Set in on_model + self._optimizing = False # Set in on_model + def _init_ctl(self): """ Creates the control and loads the files @@ -199,7 +208,7 @@ def _load_file(self, f): f (str): The file path """ self._ctl.load(str(f)) - self._logger.debug(domctl_log(f"domctlload({str(f)})")) + self._logger.debug(domctl_log(f"domctl.load({str(f)})")) def _outdate(self): """ @@ -247,6 +256,9 @@ def _on_model(self, model): Arguments: model (clingo.Model): The found clingo model """ + self._optimizing = len(model.cost) > 0 + self._optimal = model.optimality_proven + self._cost = model.cost def _add_atom(self, predicate_symbol): """ @@ -311,6 +323,50 @@ def _clear_cache(self, methods=None): self._backup_ds_cache[m] = self.__dict__[m] del self.__dict__[m] + def _call_solver_with_cache(self, ds_id: str): + """ + Generic function to call the using exiting cache on browsing + + Arguments: + ds_id: Identifier used in the cache + Returns: + A list of symbols + """ + if self._is_browsing: + return ( + self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" + ) + self._prepare() + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + ) + self._logger.debug( + domctl_log( + f"domctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + self._unsat_core = ucore + if symbols is None: + self._logger.warning("Got an UNSAT result with the given domain encoding.") + return ( + self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" + ) + return symbols + + @functools.lru_cache(maxsize=None) + def _ui_uses_predicate(self, name: str, arity: int): + """ + Returns a truth value of weather the ui_files contain the given signature. + + Args: + name (str): Predicate name + arity (int): Predicate arity + """ + transformer = UsesSignatureTransformer(name, arity) + self._logger.debug(f"Transformer parsing UI files to find {name}/{arity}") + transformer.parse_files(self._ui_files) + return transformer.contained + @property def _domain_state(self): """ @@ -347,34 +403,14 @@ def _ds_brave(self): It uses a cache that is erased after an operation makes changes in the control. """ - self._logger.debug("Getting Brave...") - if self._is_browsing: - return ( - self._backup_ds_cache["_ds_brave"] - if "_ds_brave" in self._backup_ds_cache - else "" - ) + if not self._ui_uses_predicate("_any", 1): + return "" + self._ctl.configuration.solve.models = 0 self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "brave" self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning("Got an UNSAT result with the given domain encoding.") - return ( - self._backup_ds_cache["_ds_brave"] - if "_ds_brave" in self._backup_ds_cache - else "" - ) + symbols = self._call_solver_with_cache("_ds_brave") return " ".join([str(s) + "." for s in list(tag(symbols, "_any"))]) + "\n" @cached_property @@ -384,78 +420,69 @@ def _ds_cautious(self): It uses a cache that is erased after an operation makes changes in the control. """ - self._logger.debug("Getting Cautious...") - if self._is_browsing: - return ( - self._backup_ds_cache["_ds_cautious"] - if "_ds_cautious" in self._backup_ds_cache - else "" - ) + if not self._ui_uses_predicate("_all", 1): + return "" + self._ctl.configuration.solve.models = 0 self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "cautious" self._logger.debug( domctl_log('domctl.configuration.solve.enum_mode = "cautious"') ) - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning("Got an UNSAT result with the given domain encoding.") - return ( - self._backup_ds_cache["_ds_cautious"] - if "_ds_cautious" in self._backup_ds_cache - else "" - ) - + symbols = self._call_solver_with_cache("_ds_cautious") return " ".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n" @cached_property def _ds_model(self): """ - Computes a model if one has not been set yet. - When the model is being iterated by the user, the current model is returned. + Computes model + It uses a cache that is erased after an operation makes changes in the control. """ - self._logger.debug("Getting Model...") - if self._model is None: - self._ctl.configuration.solve.models = 1 - self._ctl.configuration.solve.opt_mode = "ignore" - self._ctl.configuration.solve.enum_mode = "auto" - self._logger.debug( - domctl_log('domctlconfiguration.solve.enum_mode = "auto"') - ) + self._ctl.configuration.solve.models = 0 + self._ctl.configuration.solve.opt_mode = "ignore" + self._ctl.configuration.solve.enum_mode = "auto" + self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "auto"')) + symbols = self._call_solver_with_cache("_ds_model") + return " ".join([str(s) + "." for s in symbols]) + "\n" - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning( - "Got an UNSAT result with the given domain encoding." - ) - return ( - self._backup_ds_cache["_ds_model"] - + "\n".join([str(a) + "." for a in self._atoms]) - if "_ds_model" in self._backup_ds_cache - else "" - ) - self._model = symbols + @cached_property + def _ds_brave_optimal(self): + """ + Computes brave consequences for only optimal solutions adds them as predicates ``_any_opt/1``. + + It uses a cache that is erased after an operation makes changes in the control. + """ + if not self._ui_uses_predicate("_any_opt", 1): + return "" + + self._ctl.configuration.solve.models = 0 + self._ctl.configuration.solve.opt_mode = "optN" + self._ctl.configuration.solve.enum_mode = "brave" + self._logger.debug(domctl_log('domctl.configuration.solve.opt_mode = "optN"')) + self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) + symbols = self._call_solver_with_cache("_ds_brave_optimal") + return " ".join([str(s) + "." for s in list(tag(symbols, "_any_opt"))]) + "\n" + + @cached_property + def _ds_cautious_optimal(self): + """ + Computes cautious consequences adds them as predicates ``_all_opt/1``. - return " ".join([str(s) + "." for s in self._model]) + "\n" + It uses a cache that is erased after an operation makes changes in the control. + """ + if not self._ui_uses_predicate("_all_opt", 1): + return "" + + self._ctl.configuration.solve.models = 0 + self._ctl.configuration.solve.opt_mode = "optN" + self._ctl.configuration.solve.enum_mode = "cautious" + self._logger.debug(domctl_log('domctl.configuration.solve.opt_mode = "optN"')) + self._logger.debug( + domctl_log('domctl.configuration.solve.enum_mode = "cautious"') + ) + symbols = self._call_solver_with_cache("_ds_cautious_optimal") + return " ".join([str(s) + "." for s in list(tag(symbols, "_all_opt"))]) + "\n" @property def _ds_unsat(self): @@ -481,6 +508,22 @@ def _ds_browsing(self): prg += "_clinguin_browsing." return prg + "\n" + @property + def _ds_opt(self): + """ + Additional program to pass to the UI with optimality info + """ + prg = "#defined _clinguin_cost/2.\n#defined _clinguin_cost/1.\n#defined _clinguin_optimal/1.\n" + prg += f"_clinguin_cost({tuple(self._cost)}).\n" + + for i, c in enumerate(self._cost): + prg += f"_clinguin_cost({i},{c}).\n" + if self._optimal: + prg += "_clinguin_optimal.\n" + if self._optimizing: + prg += "_clinguin_optimizing.\n" + return prg + ######################################################################################################## # --------------------------------------------- diff --git a/clinguin/server/application/backends/clingo_optimize_backend.py b/clinguin/server/application/backends/clingo_optimize_backend.py deleted file mode 100644 index ac39147a..00000000 --- a/clinguin/server/application/backends/clingo_optimize_backend.py +++ /dev/null @@ -1,187 +0,0 @@ -""" -Module that contains the ClingoDL Backend. -""" - -from clingo.script import enable_python -from functools import cached_property - -from clinguin.server.application.backends.clingo_multishot_backend import ( - ClingoMultishotBackend, -) - -from ....utils.logger import domctl_log -from clinguin.server.data.domain_state import solve, tag - -enable_python() -# pylint: disable=attribute-defined-outside-init - - -class ClingoOptimizeBackend(ClingoMultishotBackend): - """ """ - - def __init__(self, args): - super().__init__(args) - - # Model should be the last call so that the on_model takes the assignment of the model - # and not of the cautious consequences - self._domain_state_constructors.remove("_ds_model") - self._add_domain_state_constructor("_ds_cautious_optimal") - self._add_domain_state_constructor("_ds_brave_optimal") - self._add_domain_state_constructor("_ds_model_optimal") - - self._add_domain_state_constructor("_ds_opt") - - self._cost = [] # Set in on_model - self._optimal = False # Set in on_model - self._optimizing = False # Set in on_model - - # --------------------------------------------- - # Setups - # --------------------------------------------- - - # --------------------------------------------- - # Solving - # --------------------------------------------- - - def _on_model(self, model): - super()._on_model(model) - self._optimizing = len(model.cost) > 0 - self._optimal = model.optimality_proven - self._cost = model.cost - - # --------------------------------------------- - # Domain state - # --------------------------------------------- - - @property - def _ds_opt(self): - """ - Additional program to pass to the UI with optimality info - """ - prg = "#defined _clinguin_cost/2.\n#defined _clinguin_cost/1.\n#defined _clinguin_optimal/1.\n" - prg += f"_clinguin_cost({tuple(self._cost)}).\n" - - for i, c in enumerate(self._cost): - prg += f"_clinguin_cost({i},{c}).\n" - if self._optimal: - prg += "_clinguin_optimal.\n" - if self._optimizing: - prg += "_clinguin_optimizing.\n" - return prg - - @cached_property - def _ds_brave_optimal(self): - """ - Computes brave consequences adds them as predicates ``_any/1``. - - It uses a cache that is erased after an operation makes changes in the control. - """ - self._logger.debug("Getting Brave...") - if self._is_browsing: - return ( - self._backup_ds_cache["_ds_brave_optimal"] - if "_ds_brave" in self._backup_ds_cache - else "" - ) - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "optN" - self._ctl.configuration.solve.enum_mode = "brave" - self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning("Got an UNSAT result with the given domain encoding.") - return ( - self._backup_ds_cache["_ds_brave_optimal"] - if "_ds_brave" in self._backup_ds_cache - else "" - ) - return " ".join([str(s) + "." for s in list(tag(symbols, "_any_opt"))]) + "\n" - - @cached_property - def _ds_cautious_optimal(self): - """ - Computes cautious consequences adds them as predicates ``_all/1``. - - It uses a cache that is erased after an operation makes changes in the control. - """ - self._logger.debug("Getting Cautious...") - if self._is_browsing: - return ( - self._backup_ds_cache["_ds_cautious_optimal"] - if "_ds_cautious" in self._backup_ds_cache - else "" - ) - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "optN" - self._ctl.configuration.solve.enum_mode = "cautious" - self._logger.debug( - domctl_log('domctl.configuration.solve.enum_mode = "cautious"') - ) - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning("Got an UNSAT result with the given domain encoding.") - return ( - self._backup_ds_cache["_ds_cautious_optimal"] - if "_ds_cautious" in self._backup_ds_cache - else "" - ) - - return " ".join([str(s) + "." for s in list(tag(symbols, "_all_opt"))]) + "\n" - - @cached_property - def _ds_model_optimal(self): - """ - Computes a model if one has not been set yet. - When the model is being iterated by the user, the current model is returned. - It uses a cache that is erased after an operation makes changes in the control. - """ - self._logger.debug("Getting Model...") - if self._model is None: - self._ctl.configuration.solve.models = 1 - self._ctl.configuration.solve.opt_mode = "optN" - self._ctl.configuration.solve.enum_mode = "auto" - self._logger.debug( - domctl_log('domctlconfiguration.solve.enum_mode = "auto"') - ) - - self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) - self._logger.debug( - domctl_log( - f"ctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" - ) - ) - self._unsat_core = ucore - if symbols is None: - self._logger.warning( - "Got an UNSAT result with the given domain encoding." - ) - return ( - self._backup_ds_cache["_ds_model_optimal"] - + "\n".join([str(a) + "." for a in self._atoms]) - if "_ds_model" in self._backup_ds_cache - else "" - ) - self._model = symbols - - return " ".join([str(s) + "." for s in self._model]) + "\n" diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 62c2d39e..5af3c910 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -8,6 +8,8 @@ import clorm from clingo import Control + + from clingo.symbol import Function, Number, String from clingraph.clingo_utils import ClingraphContext from clorm import Raw diff --git a/clinguin/utils/transformer.py b/clinguin/utils/transformer.py new file mode 100644 index 00000000..eebed67d --- /dev/null +++ b/clinguin/utils/transformer.py @@ -0,0 +1,23 @@ +import clingo.ast as _ast + + +class UsesSignatureTransformer(_ast.Transformer): + """ + A transformer that checks if files are using a given predicate signature + """ + + def __init__(self, name: str, arity: int) -> None: + self.name = name + self.arity = arity + self.contained = False + + def visit_Function(self, node: _ast.AST) -> _ast.AST: + if node.name == self.name and len(node.arguments) == self.arity: + self.contained = True + return node + + def parse_files(self, paths) -> str: + """ + Parses the files and returns a string with the transformed program. + """ + _ast.parse_files([str(p) for p in paths], lambda stm: self(stm)) diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md index 9d6d7b27..c4f1e5cf 100644 --- a/examples/angular/placement_optimized/README.md +++ b/examples/angular/placement_optimized/README.md @@ -9,7 +9,7 @@ Showcases multiple features of the web fronted in the form of a smart seat place ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp --backend ClingoOptimizeBackend +clinguin client-server --frontend AngularFrontend --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp ``` ![](out1.png) From 7122719d2d42d886e7d9b8677825b04c2370e0ab Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 19 Jun 2024 17:00:22 -0600 Subject: [PATCH 37/61] Fixed Class issue in angular and tag issue in update --- .../src/app/attribute-helper.service.ts | 4 ++- .../clinguin_angular_frontend/index.html | 2 +- ...1ca43215d1.js => main.4ffeb8decfd46199.js} | 2 +- .../server/application/backends/__init__.py | 4 --- .../application/backends/clingo_backend.py | 26 +++++++++---------- .../application/backends/clingraph_backend.py | 16 ++++++++++++ 6 files changed, 33 insertions(+), 21 deletions(-) rename clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/{main.be78181ca43215d1.js => main.4ffeb8decfd46199.js} (52%) diff --git a/angular_frontend/src/app/attribute-helper.service.ts b/angular_frontend/src/app/attribute-helper.service.ts index 882a97e0..c3455740 100644 --- a/angular_frontend/src/app/attribute-helper.service.ts +++ b/angular_frontend/src/app/attribute-helper.service.ts @@ -147,8 +147,10 @@ export class AttributeHelperService { addClasses(html: Element, attributes: AttributeDto[], base_classes: string[], default_classes: string[], attrName: string = 'class') { - html.className = "" base_classes.forEach(function (c) { + if (html.classList.contains(c)) { + html.classList.remove(c) + } html.classList.add(c) }) let added = false diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 747f8e6b..1b671979 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js similarity index 52% rename from clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js rename to clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js index 857dcd83..8ac64851 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.be78181ca43215d1.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){n.className="",s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}console.log("out"),null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file +(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.contains(c)&&n.classList.remove(c),n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}console.log("out"),null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/server/application/backends/__init__.py b/clinguin/server/application/backends/__init__.py index 342d7f87..a007c6cc 100644 --- a/clinguin/server/application/backends/__init__.py +++ b/clinguin/server/application/backends/__init__.py @@ -10,9 +10,6 @@ from clinguin.server.application.backends.clingodl_backend import ClingoDLBackend from clinguin.server.application.backends.clingraph_backend import ClingraphBackend from clinguin.server.application.backends.explanation_backend import ExplanationBackend -from clinguin.server.application.backends.clingo_optimize_backend import ( - ClingoOptimizeBackend, -) __all__ = [ ClingoMultishotBackend.__name__, @@ -20,5 +17,4 @@ ExplanationBackend.__name__, ClingoBackend.__name__, ClingoDLBackend.__name__, - ClingoOptimizeBackend.__name__, ] diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 079c981e..c937a78f 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -323,14 +323,15 @@ def _clear_cache(self, methods=None): self._backup_ds_cache[m] = self.__dict__[m] del self.__dict__[m] - def _call_solver_with_cache(self, ds_id: str): + def _call_solver_with_cache(self, ds_id: str, ds_tag: str = None): """ - Generic function to call the using exiting cache on browsing + Generic function to call the using exiting cache on browsing. + Un UNSAT it returns the output saved in the cache Arguments: ds_id: Identifier used in the cache Returns: - A list of symbols + The program tagged """ if self._is_browsing: return ( @@ -351,7 +352,9 @@ def _call_solver_with_cache(self, ds_id: str): return ( self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" ) - return symbols + if ds_tag is None: + return " ".join([str(s) + "." for s in symbols]) + "\n" + return " ".join([str(s) + "." for s in list(tag(symbols, ds_tag))]) + "\n" @functools.lru_cache(maxsize=None) def _ui_uses_predicate(self, name: str, arity: int): @@ -410,8 +413,7 @@ def _ds_brave(self): self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "brave" self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - symbols = self._call_solver_with_cache("_ds_brave") - return " ".join([str(s) + "." for s in list(tag(symbols, "_any"))]) + "\n" + return self._call_solver_with_cache("_ds_brave", "_any") @cached_property def _ds_cautious(self): @@ -429,8 +431,7 @@ def _ds_cautious(self): self._logger.debug( domctl_log('domctl.configuration.solve.enum_mode = "cautious"') ) - symbols = self._call_solver_with_cache("_ds_cautious") - return " ".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n" + return self._call_solver_with_cache("_ds_cautious", "_all") @cached_property def _ds_model(self): @@ -443,8 +444,7 @@ def _ds_model(self): self._ctl.configuration.solve.opt_mode = "ignore" self._ctl.configuration.solve.enum_mode = "auto" self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "auto"')) - symbols = self._call_solver_with_cache("_ds_model") - return " ".join([str(s) + "." for s in symbols]) + "\n" + return self._call_solver_with_cache("_ds_model") @cached_property def _ds_brave_optimal(self): @@ -461,8 +461,7 @@ def _ds_brave_optimal(self): self._ctl.configuration.solve.enum_mode = "brave" self._logger.debug(domctl_log('domctl.configuration.solve.opt_mode = "optN"')) self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - symbols = self._call_solver_with_cache("_ds_brave_optimal") - return " ".join([str(s) + "." for s in list(tag(symbols, "_any_opt"))]) + "\n" + return self._call_solver_with_cache("_ds_brave_optimal", "_any_opt") @cached_property def _ds_cautious_optimal(self): @@ -481,8 +480,7 @@ def _ds_cautious_optimal(self): self._logger.debug( domctl_log('domctl.configuration.solve.enum_mode = "cautious"') ) - symbols = self._call_solver_with_cache("_ds_cautious_optimal") - return " ".join([str(s) + "." for s in list(tag(symbols, "_all_opt"))]) + "\n" + return self._call_solver_with_cache("_ds_cautious_optimal", "_all_opt") @property def _ds_unsat(self): diff --git a/clinguin/server/application/backends/clingraph_backend.py b/clinguin/server/application/backends/clingraph_backend.py index 6256a944..8e54b643 100644 --- a/clinguin/server/application/backends/clingraph_backend.py +++ b/clinguin/server/application/backends/clingraph_backend.py @@ -4,6 +4,7 @@ """ import textwrap from pathlib import Path +import functools from clingo import Control from clingo.symbol import Function, String @@ -18,6 +19,7 @@ # Self defined from clinguin.utils import StandardTextProcessing, image_to_b64 +from ....utils.transformer import UsesSignatureTransformer class ClingraphBackend(ClingoMultishotBackend): @@ -192,6 +194,20 @@ def register_options(cls, parser): help="Intermediate format. Use 'svg' for angular fronted and 'png' tkinter. (default: %(default)s)", ) + @functools.lru_cache(maxsize=None) + def _ui_uses_predicate(self, name: str, arity: int): + """ + Returns a truth value of weather the ui_files contain the given signature. + + Args: + name (str): Predicate name + arity (int): Predicate arity + """ + transformer = UsesSignatureTransformer(name, arity) + self._logger.debug(f"Transformer parsing UI files to find {name}/{arity}") + transformer.parse_files(self._ui_files + self._clingraph_files) + return transformer.contained + # --------------------------------------------- # UI update # --------------------------------------------- From b5fdee4d1769fa56389ecb32c81e3bd6bbca1625 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 19 Jun 2024 17:51:32 -0600 Subject: [PATCH 38/61] Fixed cache issue --- .../application/backends/clingo_backend.py | 117 +++++++++++------- examples/angular/placement/ui.lp | 8 +- .../angular/placement_optimized/encoding.lp | 4 +- examples/angular/placement_optimized/ui.lp | 8 +- 4 files changed, 82 insertions(+), 55 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index c937a78f..6594cd2a 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -323,7 +323,9 @@ def _clear_cache(self, methods=None): self._backup_ds_cache[m] = self.__dict__[m] del self.__dict__[m] - def _call_solver_with_cache(self, ds_id: str, ds_tag: str = None): + def _call_solver_with_cache( + self, ds_id: str, ds_tag: str, models: int, opt_mode: str, enum_mode: str + ): """ Generic function to call the using exiting cache on browsing. Un UNSAT it returns the output saved in the cache @@ -334,9 +336,20 @@ def _call_solver_with_cache(self, ds_id: str, ds_tag: str = None): The program tagged """ if self._is_browsing: + self._logger.debug(f"Returning cache for {ds_id}") return ( self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" ) + self._ctl.configuration.solve.models = models + self._ctl.configuration.solve.opt_mode = opt_mode + self._ctl.configuration.solve.enum_mode = enum_mode + self._logger.debug(domctl_log(f'domctl.configuration.solve.models = {models}"')) + self._logger.debug( + domctl_log(f'domctl.configuration.solve.opt_mode = {opt_mode}"') + ) + self._logger.debug( + domctl_log(f'domctl.configuration.solve.enum_mode = {enum_mode}"') + ) self._prepare() symbols, ucore = solve( self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model @@ -352,8 +365,6 @@ def _call_solver_with_cache(self, ds_id: str, ds_tag: str = None): return ( self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" ) - if ds_tag is None: - return " ".join([str(s) + "." for s in symbols]) + "\n" return " ".join([str(s) + "." for s in list(tag(symbols, ds_tag))]) + "\n" @functools.lru_cache(maxsize=None) @@ -368,6 +379,10 @@ def _ui_uses_predicate(self, name: str, arity: int): transformer = UsesSignatureTransformer(name, arity) self._logger.debug(f"Transformer parsing UI files to find {name}/{arity}") transformer.parse_files(self._ui_files) + if not transformer.contained: + self._logger.debug( + "Predicate NOT contained. Domain constructor will be skipped" + ) return transformer.contained @property @@ -399,6 +414,41 @@ def _ds_context(self): prg += f"_clinguin_context({str(a.key)},{value})." return prg + "\n" + @cached_property + def _ds_model(self): + """ + Computes model + + When the model is being iterated by the user, the current model is returned. + It uses a cache that is erased after an operation makes changes in the control. + """ + if self._model is None: + self._ctl.configuration.solve.models = 1 + self._ctl.configuration.solve.opt_mode = "ignore" + self._ctl.configuration.solve.enum_mode = "auto" + self._logger.debug( + domctl_log('domctl.configuration.solve.enum_mode = "auto"') + ) + + self._prepare() + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._assumptions], self._on_model + ) + self._unsat_core = ucore + if symbols is None: + self._logger.warning( + "Got an UNSAT result with the given domain encoding." + ) + return ( + self._backup_ds_cache["_ds_model"] + + "\n".join([str(a) + "." for a in self._atoms]) + if "_ds_model" in self._backup_ds_cache + else "" + ) + self._model = symbols + + return " ".join([str(s) + "." for s in self._model]) + "\n" + @cached_property def _ds_brave(self): """ @@ -409,11 +459,7 @@ def _ds_brave(self): if not self._ui_uses_predicate("_any", 1): return "" - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "ignore" - self._ctl.configuration.solve.enum_mode = "brave" - self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - return self._call_solver_with_cache("_ds_brave", "_any") + return self._call_solver_with_cache("_ds_brave", "_any", 0, "ignore", "brave") @cached_property def _ds_cautious(self): @@ -425,26 +471,9 @@ def _ds_cautious(self): if not self._ui_uses_predicate("_all", 1): return "" - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "ignore" - self._ctl.configuration.solve.enum_mode = "cautious" - self._logger.debug( - domctl_log('domctl.configuration.solve.enum_mode = "cautious"') + return self._call_solver_with_cache( + "_ds_cautious", "_all", 0, "ignore", "cautious" ) - return self._call_solver_with_cache("_ds_cautious", "_all") - - @cached_property - def _ds_model(self): - """ - Computes model - - It uses a cache that is erased after an operation makes changes in the control. - """ - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "ignore" - self._ctl.configuration.solve.enum_mode = "auto" - self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "auto"')) - return self._call_solver_with_cache("_ds_model") @cached_property def _ds_brave_optimal(self): @@ -456,12 +485,9 @@ def _ds_brave_optimal(self): if not self._ui_uses_predicate("_any_opt", 1): return "" - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "optN" - self._ctl.configuration.solve.enum_mode = "brave" - self._logger.debug(domctl_log('domctl.configuration.solve.opt_mode = "optN"')) - self._logger.debug(domctl_log('domctl.configuration.solve.enum_mode = "brave"')) - return self._call_solver_with_cache("_ds_brave_optimal", "_any_opt") + return self._call_solver_with_cache( + "_ds_brave_optimal", "_any_opt", 0, "optN", "brave" + ) @cached_property def _ds_cautious_optimal(self): @@ -473,14 +499,9 @@ def _ds_cautious_optimal(self): if not self._ui_uses_predicate("_all_opt", 1): return "" - self._ctl.configuration.solve.models = 0 - self._ctl.configuration.solve.opt_mode = "optN" - self._ctl.configuration.solve.enum_mode = "cautious" - self._logger.debug(domctl_log('domctl.configuration.solve.opt_mode = "optN"')) - self._logger.debug( - domctl_log('domctl.configuration.solve.enum_mode = "cautious"') + return self._call_solver_with_cache( + "_ds_cautious_optimal", "_all_opt", 0, "optN", "cautious" ) - return self._call_solver_with_cache("_ds_cautious_optimal", "_all_opt") @property def _ds_unsat(self): @@ -511,15 +532,16 @@ def _ds_opt(self): """ Additional program to pass to the UI with optimality info """ - prg = "#defined _clinguin_cost/2.\n#defined _clinguin_cost/1.\n#defined _clinguin_optimal/1.\n" - prg += f"_clinguin_cost({tuple(self._cost)}).\n" + prg = "#defined _clinguin_cost/2. #defined _clinguin_cost/1. #defined _clinguin_optimal/1. " for i, c in enumerate(self._cost): - prg += f"_clinguin_cost({i},{c}).\n" + prg += f"_clinguin_cost({i},{c}). " if self._optimal: - prg += "_clinguin_optimal.\n" + prg += "_clinguin_optimal. " if self._optimizing: - prg += "_clinguin_optimizing.\n" + prg += "_clinguin_optimizing. " + + prg += f"_clinguin_cost({tuple(self._cost)}).\n" return prg ######################################################################################################## @@ -647,7 +669,7 @@ def next_solution(self, opt_mode="ignore"): self._ctl.configuration.solve.opt_mode = opt_mode self._ctl.configuration.solve.models = 0 self._logger.debug( - domctl_log(f"domctlconfiguration.solve.opt_mode = {opt_mode}") + domctl_log(f"domctl.configuration.solve.opt_mode = {opt_mode}") ) self._prepare() @@ -656,7 +678,7 @@ def next_solution(self, opt_mode="ignore"): ) self._logger.debug( domctl_log( - f"domctlsolve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" + f"domctl.solve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" ) ) @@ -666,6 +688,7 @@ def next_solution(self, opt_mode="ignore"): while optimizing and not model.optimality_proven: self._logger.info("Skipping non-optimal model!") model = next(self._iterator) + self._clear_cache(["_ds_model"]) self._on_model(model) self._model = model.symbols(shown=True, atoms=True, theory=True) diff --git a/examples/angular/placement/ui.lp b/examples/angular/placement/ui.lp index 93f6cfb0..b832ff2b 100644 --- a/examples/angular/placement/ui.lp +++ b/examples/angular/placement/ui.lp @@ -25,8 +25,8 @@ attr(window, flex_direction, row). when(t1, input, context, (t1_content, _value)). elem(b1, button, c1). - when(b1, click, call, (add_atom(person(_context_value(t1_content))), - set_external(include(_context_value(t1_content)),true))). + when(b1, click, call, (add_atom(person(_context_value(t1_content,str))), + set_external(include(_context_value(t1_content,str)),true))). attr(b1, label, "Add"). attr(b1, class, "m-1"). attr(b1, class, "btn-secondary"). @@ -83,7 +83,7 @@ attr(window, flex_direction, row). elem(included_l(P), container, included(P)):- person(P). attr(included_l(P), class, "w-75"):- person(P). attr(included_l(P), flex_direction, row):- person(P). - + elem(included_btn(P), button, included_l(P)):- person(P). attr(included_btn(P), class, "btn-sm"):- person(P). attr(included_btn(P), class, "rounded-circle"):- person(P). @@ -91,7 +91,7 @@ attr(window, flex_direction, row). attr(included_btn(P), icon, "fa-circle-xmark"):- person(P), not include(P). attr(included_btn(P), class, "text-success"):- person(P), include(P). attr(included_btn(P), class, "text-danger"):- person(P), not include(P). - + elem(included_label(P), label, included_l(P)):- person(P). attr(included_label(P), label, P):- person(P). attr(included_label(P), class, "text-capitalize"):- person(P). diff --git a/examples/angular/placement_optimized/encoding.lp b/examples/angular/placement_optimized/encoding.lp index ceee3e8a..4f1d2533 100644 --- a/examples/angular/placement_optimized/encoding.lp +++ b/examples/angular/placement_optimized/encoding.lp @@ -7,7 +7,7 @@ :- assign(B,P1),assign(B,P2),P1 Date: Wed, 19 Jun 2024 17:52:17 -0600 Subject: [PATCH 39/61] Version --- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 0aeff381..3c80aa10 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.12" +release = "1.0.14" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 5b90fbbb..43b114c4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.12 +version = 1.0.14 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 6b4df37d..70ed55d7 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.12", + "version": "1.0.14", "description": "An interactive visualizer for clingo", } From 458259702a38fad5a33bcd790f72defb89dacc1a Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 20 Jun 2024 19:22:04 -0600 Subject: [PATCH 40/61] Updates on clingo dl --- .../application/backends/clingo_backend.py | 6 ++-- .../application/backends/clingodl_backend.py | 35 ++++++++++++++++--- clinguin/server/presentation/endpoints.py | 2 ++ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 6594cd2a..4622be9a 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -48,7 +48,7 @@ def __init__(self, args): self._ui_files = args.ui_files self._constants = args.const if args.const else [] self._clingo_ctl_arg = args.clingo_ctl_arg if args.clingo_ctl_arg else [] - + self._default_opt_mode = "ignore" self._domain_state_constructors = [] self._backup_ds_cache = {} @@ -257,6 +257,8 @@ def _on_model(self, model): model (clingo.Model): The found clingo model """ self._optimizing = len(model.cost) > 0 + if len(model.cost) > 0: + self._logger.debug(" Cost: %s", model.cost) self._optimal = model.optimality_proven self._cost = model.cost @@ -424,7 +426,7 @@ def _ds_model(self): """ if self._model is None: self._ctl.configuration.solve.models = 1 - self._ctl.configuration.solve.opt_mode = "ignore" + self._ctl.configuration.solve.opt_mode = self._default_opt_mode self._ctl.configuration.solve.enum_mode = "auto" self._logger.debug( domctl_log('domctl.configuration.solve.enum_mode = "auto"') diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 80cba0da..690a713d 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -3,6 +3,7 @@ """ from pathlib import Path +import textwrap from clingo import Control from clingo.ast import ProgramBuilder, parse_files @@ -24,12 +25,10 @@ class ClingoDLBackend(ClingoMultishotBackend): """ def __init__(self, args): - super().__init__(args) + dl_config = [a.split("=") for a in args.dl_config] if args.dl_config else [] + self._dl_conf = [(a[0], a[1]) for a in dl_config] - # Model should be the last call so that the on_model takes the assignment of the model - # and not of the cautious consequences - self._domain_state_constructors.remove("_ds_model") - self._add_domain_state_constructor("_ds_model") + super().__init__(args) self._add_domain_state_constructor("_ds_assign") @@ -44,6 +43,8 @@ def _create_ctl(self): """ super()._create_ctl() self._theory = ClingoDLTheory() + for k, v in self._dl_conf: + self._theory.configure(k, v) self._theory.register(self._ctl) def _load_file(self, f): @@ -73,12 +74,34 @@ def _prepare(self): self._theory.prepare(self._ctl) def _on_model(self, model): + super()._on_model(model) self._theory.on_model(model) # pylint: disable=attribute-defined-outside-init self._assignment = list( (key, val) for key, val in self._theory.assignment(model.thread_id) ) + # --------------------------------------------- + # Class methods + # --------------------------------------------- + + @classmethod + def register_options(cls, parser): + """ + Registers command line options. + """ + ClingoMultishotBackend.register_options(parser) + + parser.add_argument( + "--dl-config", + help=textwrap.dedent( + """\ + Clingo-dl options list of =. + """ + ), + nargs="*", + ) + # --------------------------------------------- # Domain state # --------------------------------------------- @@ -88,6 +111,8 @@ def _ds_assign(self): """ Additional program to pass to the UI computation with assignments """ + if not self._ui_uses_predicate("_clinguin_assign", 2): + return "" prg = "" for key, val in self._assignment: prg += f"_clinguin_assign({key},{val})." diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index 3ba5a989..c9eba3cc 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -70,6 +70,7 @@ async def standard_executor(self): try: json = self._backend.get() self.last_response = json + self._logger.info(colored_text("--------------------", "GREEN")) return json except Exception as e: self._logger.error("Handling global exception in endpoint") @@ -131,6 +132,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): self._logger.info(colored_text("-->", "GREEN") + " get()") self.last_response = self._backend.get() + self._logger.info(colored_text("--------------------", "GREEN")) return self.last_response except Exception as e: From 440208ff3d078ae13dabdfcd2982c11be514d3fc Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 20 Jun 2024 19:30:05 -0600 Subject: [PATCH 41/61] Improved log --- clinguin/server/application/backends/clingo_backend.py | 9 +++++---- clinguin/server/application/backends/clingodl_backend.py | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 4622be9a..c9fc171d 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -394,6 +394,7 @@ def _domain_state(self): """ ds = "" for f in self._domain_state_constructors: + ds += f"\n%%%%%%%% {f} %%%%%%%\n" ds += getattr(self, f) return ds @@ -459,7 +460,7 @@ def _ds_brave(self): It uses a cache that is erased after an operation makes changes in the control. """ if not self._ui_uses_predicate("_any", 1): - return "" + return "% NOT USED\n" return self._call_solver_with_cache("_ds_brave", "_any", 0, "ignore", "brave") @@ -471,7 +472,7 @@ def _ds_cautious(self): It uses a cache that is erased after an operation makes changes in the control. """ if not self._ui_uses_predicate("_all", 1): - return "" + return "% NOT USED\n" return self._call_solver_with_cache( "_ds_cautious", "_all", 0, "ignore", "cautious" @@ -485,7 +486,7 @@ def _ds_brave_optimal(self): It uses a cache that is erased after an operation makes changes in the control. """ if not self._ui_uses_predicate("_any_opt", 1): - return "" + return "% NOT USED\n" return self._call_solver_with_cache( "_ds_brave_optimal", "_any_opt", 0, "optN", "brave" @@ -499,7 +500,7 @@ def _ds_cautious_optimal(self): It uses a cache that is erased after an operation makes changes in the control. """ if not self._ui_uses_predicate("_all_opt", 1): - return "" + return "% NOT USED\n" return self._call_solver_with_cache( "_ds_cautious_optimal", "_all_opt", 0, "optN", "cautious" diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 690a713d..0f140c9f 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -112,7 +112,8 @@ def _ds_assign(self): Additional program to pass to the UI computation with assignments """ if not self._ui_uses_predicate("_clinguin_assign", 2): - return "" + return "% NOT USED\n" + prg = "" for key, val in self._assignment: prg += f"_clinguin_assign({key},{val})." From 3d6da038d28a1096065afa1f641299693cf43444 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 20 Jun 2024 19:30:56 -0600 Subject: [PATCH 42/61] New version 15 --- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 3c80aa10..3fba87bb 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.14" +release = "1.0.15" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 43b114c4..a7a1a2dc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.14 +version = 1.0.15 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 70ed55d7..af49040a 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.14", + "version": "1.0.15", "description": "An interactive visualizer for clingo", } From 631dcd633b03a11725b246521d7b98fd57f072dd Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 20 Jun 2024 19:39:13 -0600 Subject: [PATCH 43/61] version .16 --- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 3fba87bb..34bcf2b5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.15" +release = "1.0.16" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index a7a1a2dc..197b61b2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.15 +version = 1.0.16 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index af49040a..039be1f9 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.15", + "version": "1.0.16", "description": "An interactive visualizer for clingo", } From c448402e4b831e7b832c254b24a143fc8a774c6d Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 1 Jul 2024 12:00:36 -0600 Subject: [PATCH 44/61] Logs before actions --- .../application/backends/clingo_backend.py | 40 +++++++++---------- .../backends/clingo_multishot_backend.py | 6 +-- .../backends/explanation_backend.py | 2 +- clinguin/server/data/ui_state.py | 10 ++--- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index c9fc171d..61a24e8f 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -58,7 +58,6 @@ def __init__(self, args): self._ground() self._add_domain_state_constructor("_ds_context") - self._add_domain_state_constructor("_ds_opt") self._add_domain_state_constructor("_ds_unsat") self._add_domain_state_constructor("_ds_browsing") self._add_domain_state_constructor("_ds_cautious_optimal") @@ -66,6 +65,7 @@ def __init__(self, args): self._add_domain_state_constructor("_ds_cautious") self._add_domain_state_constructor("_ds_brave") self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious + self._add_domain_state_constructor("_ds_opt") # --------------------------------------------- # Class methods @@ -171,10 +171,10 @@ def _create_ctl(self): Initializes the control object (domain-control). It is used when the server is started or after a restart. """ - self._ctl = Control(self._ctl_arguments_list) self._logger.debug( domctl_log(f"domain_ctl = Control({self._ctl_arguments_list})") ) + self._ctl = Control(self._ctl_arguments_list) def _load_and_add(self): """ @@ -197,8 +197,8 @@ def _load_and_add(self): raise e for atom in self._atoms: - self._ctl.add("base", [], str(atom) + ".") self._logger.debug(domctl_log('domctl.add("base", [], {str(atom)} + ".")')) + self._ctl.add("base", [], str(atom) + ".") def _load_file(self, f): """ @@ -207,8 +207,8 @@ def _load_file(self, f): Arguments: f (str): The file path """ - self._ctl.load(str(f)) self._logger.debug(domctl_log(f"domctl.load({str(f)})")) + self._ctl.load(str(f)) def _outdate(self): """ @@ -240,8 +240,8 @@ def _ground(self, program="base"): Arguments: program (str): The name of the program to ground (defaults to "base") """ - self._ctl.ground([(program, [])]) self._logger.debug(domctl_log(f"domctl.ground([({program}, [])])")) + self._ctl.ground([(program, [])]) def _prepare(self): """ @@ -342,9 +342,6 @@ def _call_solver_with_cache( return ( self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" ) - self._ctl.configuration.solve.models = models - self._ctl.configuration.solve.opt_mode = opt_mode - self._ctl.configuration.solve.enum_mode = enum_mode self._logger.debug(domctl_log(f'domctl.configuration.solve.models = {models}"')) self._logger.debug( domctl_log(f'domctl.configuration.solve.opt_mode = {opt_mode}"') @@ -352,15 +349,18 @@ def _call_solver_with_cache( self._logger.debug( domctl_log(f'domctl.configuration.solve.enum_mode = {enum_mode}"') ) + self._ctl.configuration.solve.models = models + self._ctl.configuration.solve.opt_mode = opt_mode + self._ctl.configuration.solve.enum_mode = enum_mode self._prepare() - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) self._logger.debug( domctl_log( f"domctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" ) ) + symbols, ucore = solve( + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + ) self._unsat_core = ucore if symbols is None: self._logger.warning("Got an UNSAT result with the given domain encoding.") @@ -426,12 +426,12 @@ def _ds_model(self): It uses a cache that is erased after an operation makes changes in the control. """ if self._model is None: - self._ctl.configuration.solve.models = 1 - self._ctl.configuration.solve.opt_mode = self._default_opt_mode - self._ctl.configuration.solve.enum_mode = "auto" self._logger.debug( domctl_log('domctl.configuration.solve.enum_mode = "auto"') ) + self._ctl.configuration.solve.models = 1 + self._ctl.configuration.solve.opt_mode = self._default_opt_mode + self._ctl.configuration.solve.enum_mode = "auto" self._prepare() symbols, ucore = solve( @@ -668,22 +668,22 @@ def next_solution(self, opt_mode="ignore"): self._outdate() optimizing = opt_mode in ["optN", "opt"] if not self._iterator: - self._ctl.configuration.solve.enum_mode = "auto" - self._ctl.configuration.solve.opt_mode = opt_mode - self._ctl.configuration.solve.models = 0 self._logger.debug( domctl_log(f"domctl.configuration.solve.opt_mode = {opt_mode}") ) + self._ctl.configuration.solve.enum_mode = "auto" + self._ctl.configuration.solve.opt_mode = opt_mode + self._ctl.configuration.solve.models = 0 self._prepare() - self._handler = self._ctl.solve( - [(a, True) for a in self._get_assumptions()], yield_=True - ) self._logger.debug( domctl_log( f"domctl.solve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" ) ) + self._handler = self._ctl.solve( + [(a, True) for a in self._get_assumptions()], yield_=True + ) self._iterator = iter(self._handler) try: diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 43b6172a..bc0106db 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -151,8 +151,8 @@ def set_external(self, atom, value): self._outdate() if name == "release": - self._ctl.release_external(symbol) self._logger.debug(domctl_log(f"ctl.release_external({symbol})")) + self._ctl.release_external(symbol) self._externals["released"].add(symbol) if symbol in self._externals["true"]: @@ -162,16 +162,16 @@ def set_external(self, atom, value): self._externals["false"].remove(symbol) elif name == "true": - self._ctl.assign_external(symbol, True) self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, True)")) + self._ctl.assign_external(symbol, True) self._externals["true"].add(symbol) if symbol in self._externals["false"]: self._externals["false"].remove(symbol) elif name == "false": - self._ctl.assign_external(symbol, False) self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, False)")) + self._ctl.assign_external(symbol, False) self._externals["false"].add(symbol) if symbol in self._externals["true"]: diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index bb6361c5..69653974 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -92,8 +92,8 @@ def _load_file(self, f): """ transformed_program = self._assumption_transformer.parse_files([f]) - self._ctl.add("base", [], transformed_program) self._logger.debug(domctl_log(f'domctl.add("base", [], {transformed_program})')) + self._ctl.add("base", [], transformed_program) def _get_assumptions(self): """ diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 5af3c910..d0309066 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -58,12 +58,12 @@ def ui_control(self): Generates a ClingoControl Object to compute the UI state """ - uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) log.debug( uictl_log( f'uictl = Control(["0", "--warn=none"] + {[f"-c v" for v in self._constants]})' ) ) + uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) for f in self._ui_files: path = Path(f) if not path.is_file(): @@ -79,17 +79,17 @@ def ui_control(self): log.critical(str(e)) raise e - uictl.add("base", [], self._domain_state) log.debug(uictl_log(f'uictl.add("base", [], {self._domain_state})')) - uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.") + uictl.add("base", [], self._domain_state) log.debug( uictl_log( 'uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.")' ) ) + uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.") - uictl.ground([("base", [])], ClingraphContext()) log.debug(uictl_log('uictl.ground([("base", [])], ClingraphContext())')) + uictl.ground([("base", [])], ClingraphContext()) return uictl def update_ui_state(self): @@ -100,12 +100,12 @@ def update_ui_state(self): uictl = self.ui_control() defined = False + log.debug(uictl_log("uictl.solve(yield_=True)")) with uictl.solve(yield_=True) as result: for m in result: model_symbols = m.symbols(shown=True, atoms=True) defined = True break - log.debug(uictl_log("uictl.solve(yield_=True)")) if not defined: log.critical("UI encoding was UNSATISFIABLE") raise RuntimeError("UI encoding was UNSATISFIABLE") From be055221838b4f01f99d7820b7222da82aa50f23 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 1 Jul 2024 12:25:47 -0600 Subject: [PATCH 45/61] Improved error log and documentation --- clinguin/server/data/ui_state.py | 11 +++++-- docs/clinguin/reference/input.rst | 10 ++++++ docs/clinguin/reference/state.rst | 55 ++++++++++++++++--------------- docs/clinguin/use.rst | 10 +++--- 4 files changed, 52 insertions(+), 34 deletions(-) diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index d0309066..69470a8d 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -60,7 +60,7 @@ def ui_control(self): """ log.debug( uictl_log( - f'uictl = Control(["0", "--warn=none"] + {[f"-c v" for v in self._constants]})' + f'uictl = Control(["0", "--warn=none"] + {[f"-c {v}" for v in self._constants]})' ) ) uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) @@ -80,7 +80,14 @@ def ui_control(self): raise e log.debug(uictl_log(f'uictl.add("base", [], {self._domain_state})')) - uictl.add("base", [], self._domain_state) + try: + uictl.add("base", [], self._domain_state) + except RuntimeError as e: + message = """The domain state is not well constructed.\ + Make sure there are no #show statements in the domain files that have tuples as output (without function name).\ + Consider turing on the debug logs with server-log-level=DEBUG to inspect the domain state""" + log.critical(message) + raise e log.debug( uictl_log( 'uictl.add("base", [], "#show elem/3. #show attr/3. #show when/4.")' diff --git a/docs/clinguin/reference/input.rst b/docs/clinguin/reference/input.rst index 54914666..00faee45 100644 --- a/docs/clinguin/reference/input.rst +++ b/docs/clinguin/reference/input.rst @@ -13,6 +13,16 @@ The domain-specific ASP encodings that will generate solutions to the problem (i These files will be used by the :ref:`domain-control`. They are provided when starting the server via the command line in argument ``--domain-files``. +.. warning:: + + **Show statements** + + The show statements in your :ref:`domain-files` will impact the atoms present in the :ref:`domain-state`. + If you are using show statements, and you want to use ``_any(a)`` for an atom ``a``, that is not part of your show statements, + then you have to add ``#project a.`` to your :ref:`domain-files` to get the desired output. + Furthermore any show statements that output a tuple (function without name) will lead to syntactic issues so thet should be removed. + + ************ ui-files ************ diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst index bff8d6c8..c67e2ff4 100644 --- a/docs/clinguin/reference/state.rst +++ b/docs/clinguin/reference/state.rst @@ -15,7 +15,7 @@ A User Interface is defined in `clinguin` using the three predicates below. These facts are generated by calling clingo with the :ref:`domain-state` and the provided :ref:`ui-files`. .. note:: - + The available element types, attributes, events, and actions will vary depending on the frontend. See the details for each front end in the :ref:`Frontends` section. @@ -49,8 +49,8 @@ Actions define the interactivity of the UI. Multiple actions are allowed, as ex - ``EVENT`` The event that is being triggered, such as ``click``, ``hover``, ``input``, etc. Each element type allows different events. -- ``ACTION`` The action performed. - - ``call`` Calls the server to perform an operation. +- ``ACTION`` The action performed. + - ``call`` Calls the server to perform an operation. - ``update`` Updates the attribute of another element without any calls to the server. - ``context`` Updates the internal context that will be passed to the server on the following call actions. See :ref:`Context` for more details. @@ -62,31 +62,31 @@ Actions define the interactivity of the UI. Multiple actions are allowed, as ex **Multiple actions** -If multiple occurrences of the predicate ``when`` are present for the same element and event. All of them will be executed. First, the updates will be performed, followed by context changes and finally server calls. Within each type of action, no order can be assured. +If multiple occurrences of the predicate ``when`` are present for the same element and event. All of them will be executed. First, the updates will be performed, followed by context changes and finally server calls. Within each type of action, no order can be assured. -In the case of multiple appearances of ``call``, a single call will be placed to the server with the information to execute all actions in any order. +In the case of multiple appearances of ``call``, a single call will be placed to the server with the information to execute all actions in any order. .. admonition:: Example - + When ``button1`` is clicked, the server will receive the instruction to execute two operations: adding assumption ``a`` and adding assumption ``b`` in any order. For a more evolved example of this feature, see the `jobshop example `_. - .. code-block:: + .. code-block:: when(button1, click, call, add_assumption(a)). when(button1, click, call, add_assumption(b)). -To impose an order, the operation provided must be a tuple, in which case the order of execution is defined by the tuple. +To impose an order, the operation provided must be a tuple, in which case the order of execution is defined by the tuple. .. admonition:: Example - + This example below will make sure that assumption ``a`` is added before computing a solution. - .. code-block:: + .. code-block:: - when(button1, click, call, (add_assumption(a), next_solution)). + when(button1, click, call, (add_assumption(a), next_solution)). ************ domain-state @@ -95,7 +95,7 @@ domain-state .. figure:: ../../domstate.png A set of facts defining the state of the domain, which will be used as input to the :ref:`ui-files`. -These facts are generated by multiple domain-state constructors defined by the backend. +These facts are generated by multiple domain-state constructors defined by the backend. Each backend will define its own domain-state constructors which can involve solve calls or any other information. The domain-state constructors can be found in :ref:`backends`. In what follows we explain in detail the list of base constructors used in the :ref:`ClingoMultishotBackend` @@ -106,24 +106,25 @@ In ASP terms, we use the following brave and cautious reasoning to provide this **Model** -The atoms of the first computed model are added directly to the :ref:`domain-state`. When the user is browsing the solutions, this model will change accordingly. +The atoms of the first computed model are added directly to the :ref:`domain-state`. When the user is browsing the solutions, this model will change accordingly. **Brave consequences** Atoms that are in any stable models (Union) of the :ref:`domain-control`. These atoms are part of the :ref:`domain-state` enclosed in predicate ``_any``. We usually employ brave consequences to create elements where we want to provide the user with all the possible options. For instance, in a dropdown menu. By using brave consequences, we make sure that these selections lead to a valid answer. -.. warning:: - +.. warning:: + **Show statements** - The show statements in your :ref:`domain-files` will impact the atoms present in these consequences. + The show statements in your :ref:`domain-files` will impact the atoms present in these consequences. If you are using show statements, and you want to use ``_any(a)`` for an atom ``a``, that is not part of your show statements, then you have to add ``#project a.`` to your :ref:`domain-files` to get the desired output. + Furthermore any show statements that output a tuple (function without name) will lead to syntactic issues so thet should be removed. .. admonition:: Example - + Consider the following encoding, where either ``p(1)`` or ``p(2)`` can be selected. @@ -145,17 +146,17 @@ We usually employ brave consequences to create elements where we want to provide Atoms that are in all stable models (intersection) of the :ref:`domain-control`. These atoms are part of the :ref:`domain-state` enclosed in predicate ``_all``. We usually employ cautious consequences when we want to show the user any inferences done by the solver. For instance, the selected value of a dropdown menu. Naturally, assumptions made by the user will impact these consequences. -.. warning:: - +.. warning:: + **Show statements** - The show statements in your :ref:`domain-files` will impact the atoms present in these consequences. + The show statements in your :ref:`domain-files` will impact the atoms present in these consequences. If you are using show statements, and you want to use ``_all(a)`` for an atom ``a``, that is not part of your show statements, then you have to add ``#project a.`` to your :ref:`domain-files` to get the desired output. .. admonition:: Example - - + + Consider the following encoding, where either ``p(1)`` or ``p(2)`` can be selected. .. code-block:: @@ -177,26 +178,26 @@ We usually employ cautious consequences when we want to show the user any infere This constant is present when the user is browsing models, meaning that the ``next()`` operation has been requested. It can be used to decide whether the UI must show the current model. .. admonition:: Example - + In the `sudoku example `_, presented in section :ref:`Quick Start`, the following lines define the selected value of a dropdown menu. When browsing is active, the value of the cell in the given model ``sudoku(X,Y,V)`` defines the selected value, otherwise, a selected option will be defined only for values that are forced by the encoding ``_all`` (see :ref:`domain-state`). .. code-block:: - + attr(dd(X,Y),selected,V):-_all(sudoku(X,Y,V)). attr(dd(X,Y),selected,V):-sudoku(X,Y,V), _clinguin_browsing. **_clinguin_unsat/0** -This constant is present if the :ref:`domain-control` gave an unsatisfiable response. +This constant is present if the :ref:`domain-control` gave an unsatisfiable response. **_clinguin_assume/1** -These atoms give information about what has been assumed by the user via the backend instructions. +These atoms give information about what has been assumed by the user via the backend instructions. .. admonition:: Example - + In the `sudoku example `_, presented in section :ref:`Quick Start`, the following lines define the color of the selected value of a dropdown menu. When the value was set by the user, which we can know if ``_clinguin_assume(sudoku(X,Y,V))`` is part of the :ref:`domain-state`, then we show it using the primary color (blue). Otherwise, the value was inferred by the system and we show it using the info color (gray). diff --git a/docs/clinguin/use.rst b/docs/clinguin/use.rst index 2eb6c2ad..38fabe43 100644 --- a/docs/clinguin/use.rst +++ b/docs/clinguin/use.rst @@ -3,7 +3,7 @@ Quick Start =========== We will use the `sudoku example `_ , and run it using the :ref:`ClingoMultishotBackend` and the :ref:`AngularFrontend`. - +The ASP files defining the `instance `_ and `instance `_ for the sudoku are considered the :ref:`domain-files`. .. image:: ../../examples/angular/sudoku/out1.png :width: 45% @@ -13,7 +13,7 @@ We will use the `sudoku example `_ by sections. For details on the sytax and the creation of elements see the :ref:`ui-state` section. @@ -71,7 +71,7 @@ Then, inside the window we create a container which is identified by ``sudoku`` attr(sudoku,width,100). attr(sudoku,height,100). -In the container we create a dropdown menu for each position in the sudoku and identify it by ``dd(X,Y)``. +In the container we create a dropdown menu for each position in the sudoku and identify it by ``dd(X,Y)``. The first four lines will set the size and position of the dropdown. The special angular attribute ``class`` will set the style of the dropdown depending on the subgrid it belongs to, and if it is an initial value. In the last lines we use the following special predicates. First, ``_clinguin_assume``, and ``_clinguin_browsing`` are part of the domain state (which can be extended by the Backend). Then, we use the predicate ``_all`` for accessing atoms that are in all models (see :ref:`domain-state`). By doing so, the last two lines define the selected value of the dropdown as the value that the sudoku encoding is infering, either by a user assumption or due to the domain constraints. .. code-block:: @@ -107,7 +107,7 @@ We add an additional item in each dropdown menu to clear any previous selection. attr(remove(X,Y), icon, ("fa-ban";"text-info")):-pos(X,Y). when(remove(X,Y), click, call, remove_assumption_signature(sudoku(X,Y,any))):-pos(X,Y). -Finally, we use the menu bar component type to add the title and different operations in the top of the UI. Those options include, removing all assumptions and browsing the solutions. +Finally, we use the menu bar component type to add the title and different operations in the top of the UI. Those options include, removing all assumptions and browsing the solutions. .. code-block:: From 062de841a148df909f8530a3a580ca3434bcac28 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 1 Jul 2024 12:29:43 -0600 Subject: [PATCH 46/61] Removed default angular frointed directive in examples --- docs/clinguin/use.rst | 4 ++-- examples/angular/jobshop/README.md | 2 +- examples/angular/placement/README.md | 2 +- examples/angular/placement_optimized/README.md | 2 +- examples/angular/style/README.md | 2 +- examples/angular/sudoku/README.md | 2 +- examples/angular/sudoku_advanced/README.md | 2 +- examples/angular/sudoku_basic/README.md | 2 +- examples/angular/tree_browser/README.md | 2 +- examples/test/test_12/README.md | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/clinguin/use.rst b/docs/clinguin/use.rst index 38fabe43..e6c00d5e 100644 --- a/docs/clinguin/use.rst +++ b/docs/clinguin/use.rst @@ -22,7 +22,7 @@ To run `clinguin` one can the execute the following command: .. code-block:: console - $ clinguin client-server --domain-files examples/angular/sudoku/instance.lp examples/angular/sudoku/encoding.lp --ui-files examples/angular/sudoku/ui.lp --frontend AngularFrontend + $ clinguin client-server --domain-files examples/angular/sudoku/instance.lp examples/angular/sudoku/encoding.lp --ui-files examples/angular/sudoku/ui.lp After the execution, a Sudoku window in your browser should open, where one can play a round of Sudoku. @@ -44,7 +44,7 @@ When running the server one can further specify the *Backend* that should be use .. code-block:: console - $ clinguin client --frontend AngularFrontend + $ clinguin client The client does not need any files as input since it will ask the server for the information. diff --git a/examples/angular/jobshop/README.md b/examples/angular/jobshop/README.md index 8a22596f..9536ad3f 100644 --- a/examples/angular/jobshop/README.md +++ b/examples/angular/jobshop/README.md @@ -6,7 +6,7 @@ ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/jobshop/encoding.lp examples/angular/jobshop/instance.lp --ui-files examples/angular/jobshop/ui.lp --backend ClingoDLBackend +clinguin client-server --domain-files examples/angular/jobshop/encoding.lp examples/angular/jobshop/instance.lp --ui-files examples/angular/jobshop/ui.lp --backend ClingoDLBackend ``` ![](out.png) diff --git a/examples/angular/placement/README.md b/examples/angular/placement/README.md index a24dc352..f5067fd7 100644 --- a/examples/angular/placement/README.md +++ b/examples/angular/placement/README.md @@ -9,7 +9,7 @@ Showcases multiple features of the web fronted in the form of a smart seat place ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/placement/instance.lp examples/angular/placement/encoding.lp --ui-files examples/angular/placement/ui.lp +clinguin client-server --domain-files examples/angular/placement/instance.lp examples/angular/placement/encoding.lp --ui-files examples/angular/placement/ui.lp ``` ![](out1.png) diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md index c4f1e5cf..41876177 100644 --- a/examples/angular/placement_optimized/README.md +++ b/examples/angular/placement_optimized/README.md @@ -9,7 +9,7 @@ Showcases multiple features of the web fronted in the form of a smart seat place ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp +clinguin client-server --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp ``` ![](out1.png) diff --git a/examples/angular/style/README.md b/examples/angular/style/README.md index 09332447..0bc056be 100644 --- a/examples/angular/style/README.md +++ b/examples/angular/style/README.md @@ -8,7 +8,7 @@ Showcases multiple style options from bootstrap ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/style/encoding.lp --ui-files examples/angular/style/ui.lp +clinguin client-server --domain-files examples/angular/style/encoding.lp --ui-files examples/angular/style/ui.lp ``` ![](out.png) diff --git a/examples/angular/sudoku/README.md b/examples/angular/sudoku/README.md index 960c289b..6ea3b6db 100644 --- a/examples/angular/sudoku/README.md +++ b/examples/angular/sudoku/README.md @@ -6,7 +6,7 @@ ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/sudoku/instance.lp examples/angular/sudoku/encoding.lp --ui-files examples/angular/sudoku/ui.lp +clinguin client-server --domain-files examples/angular/sudoku/instance.lp examples/angular/sudoku/encoding.lp --ui-files examples/angular/sudoku/ui.lp ``` ![](out1.png) diff --git a/examples/angular/sudoku_advanced/README.md b/examples/angular/sudoku_advanced/README.md index c90ed33e..f0c40cd9 100644 --- a/examples/angular/sudoku_advanced/README.md +++ b/examples/angular/sudoku_advanced/README.md @@ -10,7 +10,7 @@ Notice that the instances uses choices on predicate `initial/3`. This way they c ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/sudoku_advanced/instance.lp examples/angular/sudoku_advanced/encoding.lp --ui-files examples/angular/sudoku_advanced/ui.lp --backend ExplanationBackend --assumption-signature initial,3 +clinguin client-server --domain-files examples/angular/sudoku_advanced/instance.lp examples/angular/sudoku_advanced/encoding.lp --ui-files examples/angular/sudoku_advanced/ui.lp --backend ExplanationBackend --assumption-signature initial,3 ``` ![](out1.png) diff --git a/examples/angular/sudoku_basic/README.md b/examples/angular/sudoku_basic/README.md index 396c552b..5b322e47 100644 --- a/examples/angular/sudoku_basic/README.md +++ b/examples/angular/sudoku_basic/README.md @@ -6,7 +6,7 @@ ### Usage ``` -clinguin client-server --domain-files examples/angular/sudoku_basic/instance.lp examples/angular/sudoku_basic/encoding.lp --ui-files examples/angular/sudoku_basic/ui.lp --frontend AngularFrontend +clinguin client-server --domain-files examples/angular/sudoku_basic/instance.lp examples/angular/sudoku_basic/encoding.lp --ui-files examples/angular/sudoku_basic/ui.lp ``` ![](out1.png) diff --git a/examples/angular/tree_browser/README.md b/examples/angular/tree_browser/README.md index 84db86bf..0202bf1e 100644 --- a/examples/angular/tree_browser/README.md +++ b/examples/angular/tree_browser/README.md @@ -10,7 +10,7 @@ Notice that web browser might need to be resized to see the clingraph image. ### Usage ``` -clinguin client-server --frontend AngularFrontend --domain-files examples/angular/tree_browser/encoding.lp examples/angular/tree_browser/instance.lp --ui-files examples/angular/tree_browser/ui.lp --backend=ClingraphBackend --clingraph-files=examples/angular/tree_browser/viz.lp +clinguin client-server --domain-files examples/angular/tree_browser/encoding.lp examples/angular/tree_browser/instance.lp --ui-files examples/angular/tree_browser/ui.lp --backend=ClingraphBackend --clingraph-files=examples/angular/tree_browser/viz.lp ``` ![](out1.png) diff --git a/examples/test/test_12/README.md b/examples/test/test_12/README.md index d20f9383..4ac15723 100644 --- a/examples/test/test_12/README.md +++ b/examples/test/test_12/README.md @@ -6,7 +6,7 @@ ### Usage ``` -clinguin client-server --domain-files examples/test/test_12/domain_file.lp --ui-files examples/test/test_12/ui.lp --frontend AngularFrontend +clinguin client-server --domain-files examples/test/test_12/domain_file.lp --ui-files examples/test/test_12/ui.lp ``` ![](out.png) From d522656fad3c4209e2ec480c7d3a6151783a467b Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 1 Jul 2024 12:36:21 -0600 Subject: [PATCH 47/61] Additional documentation --- docs/clinguin/reference/state.rst | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst index c67e2ff4..9d036099 100644 --- a/docs/clinguin/reference/state.rst +++ b/docs/clinguin/reference/state.rst @@ -98,7 +98,8 @@ A set of facts defining the state of the domain, which will be used as input to These facts are generated by multiple domain-state constructors defined by the backend. Each backend will define its own domain-state constructors which can involve solve calls or any other information. The domain-state constructors can be found in :ref:`backends`. -In what follows we explain in detail the list of base constructors used in the :ref:`ClingoMultishotBackend` +In what follows we explain in detail the list of base constructors used in the :ref:`ClingoMultishotBackend`, +for further details check the API documentation for the backend of your interest. The domain state of :ref:`ClingoMultishotBackend` will provide a model and some useful reasoning information; when creating a UI one usually needs to reason with what is still *possibly* part of the solution and what is *necessarily* in the solution. @@ -113,6 +114,13 @@ The atoms of the first computed model are added directly to the :ref:`domain-sta Atoms that are in any stable models (Union) of the :ref:`domain-control`. These atoms are part of the :ref:`domain-state` enclosed in predicate ``_any``. We usually employ brave consequences to create elements where we want to provide the user with all the possible options. For instance, in a dropdown menu. By using brave consequences, we make sure that these selections lead to a valid answer. +.. warning:: + + **Performance** + + To improve performance these atoms are only obtained if the predicate ``_any`` is part of the :ref:`ui-files`. + + .. warning:: **Show statements** @@ -146,6 +154,13 @@ We usually employ brave consequences to create elements where we want to provide Atoms that are in all stable models (intersection) of the :ref:`domain-control`. These atoms are part of the :ref:`domain-state` enclosed in predicate ``_all``. We usually employ cautious consequences when we want to show the user any inferences done by the solver. For instance, the selected value of a dropdown menu. Naturally, assumptions made by the user will impact these consequences. +.. warning:: + + **Performance** + + To improve performance these atoms are only obtained if the predicate ``_any`` is part of the :ref:`ui-files`. + + .. warning:: **Show statements** From 40d3080d3aefa0d3201b21c378a77600f4e19a9c Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 10 Jul 2024 13:51:51 +0200 Subject: [PATCH 48/61] Fixed canvas --- clinguin/server/data/ui_state.py | 3 ++- examples/test/test_07/ui.lp | 10 +++++----- tests/reference_json_output/basic_test_07.py | 10 +++++----- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 69470a8d..49b58ba9 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -11,6 +11,7 @@ from clingo.symbol import Function, Number, String +from clingo import parse_term from clingraph.clingo_utils import ClingraphContext from clorm import Raw @@ -251,7 +252,7 @@ def replace_images_with_b64(self, image_attribute_key="image"): with open(attribute_value, "rb") as image_file: encoded_string = image_to_b64(image_file.read()) new_attribute = AttributeDao( - Raw(Function(str(attribute.id), [])), + Raw(parse_term(str(attribute.id))), Raw(Function(str(attribute.key), [])), Raw(String(str(encoded_string))), ) diff --git a/examples/test/test_07/ui.lp b/examples/test/test_07/ui.lp index 9f0a1109..3a57abb0 100644 --- a/examples/test/test_07/ui.lp +++ b/examples/test/test_07/ui.lp @@ -5,12 +5,12 @@ attr(window, width, 450). attr(window, pos_x, 0). attr(window, pos_y, 100). -elem(canv, canvas, window). -attr(canv, height, 500). -attr(canv, width, 450). -attr(canv, image, "examples/test/test_07/tommi.jpg"). +elem(canvis(1), canvas, window). +attr(canvis(1), height, 500). +attr(canvis(1), width, 450). +attr(canvis(1), image, "examples/test/test_07/tommi.jpg"). -attr(canv, resize, true). +attr(canvis(1), resize, true). diff --git a/tests/reference_json_output/basic_test_07.py b/tests/reference_json_output/basic_test_07.py index 1906ac22..f2222238 100644 --- a/tests/reference_json_output/basic_test_07.py +++ b/tests/reference_json_output/basic_test_07.py @@ -25,15 +25,15 @@ def get_reference_json(cls): "when": [], "children": [ { - "id": "canv", + "id": "canvis(1)", "type": "canvas", "parent": "window", "attributes": [ - {"id": "canv", "key": "height", "value": "500"}, - {"id": "canv", "key": "width", "value": "450"}, - {"id": "canv", "key": "resize", "value": "true"}, + {"id": "canvis(1)", "key": "height", "value": "500"}, + {"id": "canvis(1)", "key": "width", "value": "450"}, + {"id": "canvis(1)", "key": "resize", "value": "true"}, { - "id": "canv", + "id": "canvis(1)", "key": "image", "value": '"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"', }, From fe0d61fc6eb47d792aea5b8edbbc78e515419d30 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Wed, 10 Jul 2024 13:52:46 +0200 Subject: [PATCH 49/61] New tag --- docs/conf.py | 2 +- setup.cfg | 2 +- tests/reference_json_output/health.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 34bcf2b5..86e08c09 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -35,7 +35,7 @@ author = "Susana Hahn, Alexander Beiser" # The full version, including alpha/beta/rc tags -release = "1.0.16" +release = "1.0.17" # -- General configuration --------------------------------------------------- diff --git a/setup.cfg b/setup.cfg index 197b61b2..2cf70784 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = clinguin -version = 1.0.16 +version = 1.0.17 author = Alexander Beiser, Susana Hahn (Potassco) author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de description = An interactive visualizer for clingo diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py index 039be1f9..22d551b8 100644 --- a/tests/reference_json_output/health.py +++ b/tests/reference_json_output/health.py @@ -6,7 +6,7 @@ class Health: def get_reference_json(cls): json_dict = { "name": "clinguin", - "version": "1.0.16", + "version": "1.0.17", "description": "An interactive visualizer for clingo", } From 5d6b16bde395da8511d185d74c23b9ed952abce3 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 23 Jul 2024 09:43:45 +0200 Subject: [PATCH 50/61] Fixed explanatin bugs --- .../server/application/backends/clingo_backend.py | 12 ++++++++++-- .../application/backends/explanation_backend.py | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 61a24e8f..0e4fbeef 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -359,7 +359,9 @@ def _call_solver_with_cache( ) ) symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model + self._ctl, + [(a, True) for a in self._get_assumptions()], + self._on_model, ) self._unsat_core = ucore if symbols is None: @@ -434,8 +436,14 @@ def _ds_model(self): self._ctl.configuration.solve.enum_mode = "auto" self._prepare() + self._logger.debug( + domctl_log( + f"domctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + ) + ) + symbols, ucore = solve( - self._ctl, [(a, True) for a in self._assumptions], self._on_model + self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model ) self._unsat_core = ucore if symbols is None: diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index 69653974..544574e9 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -50,6 +50,8 @@ def _parse_assumption_signature(self, args): Parse assumption signatures in the arguments """ self._assumption_sig = [] + if args.assumption_signature is None: + return for a in args.assumption_signature: try: self._assumption_sig.append((a.split(",")[0], int(a.split(",")[1]))) From 22ddafb5fa4c0f4fe0ab7343bd0a800d3fb28019 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 30 Jul 2024 08:46:34 -0600 Subject: [PATCH 51/61] Fixed README --- examples/angular/placement_optimized/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md index 41876177..fce45a66 100644 --- a/examples/angular/placement_optimized/README.md +++ b/examples/angular/placement_optimized/README.md @@ -9,7 +9,7 @@ Showcases multiple features of the web fronted in the form of a smart seat place ### Usage ``` -clinguin client-server --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement/ui.lp +clinguin client-server --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement_optimized/ui.lp ``` ![](out1.png) From 97ac1cb55ddee0fc44747f1afcff0ca935937804 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 30 Jul 2024 10:15:02 -0600 Subject: [PATCH 52/61] Raising error on missing optimization statement --- .../server/application/backends/clingo_backend.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 0e4fbeef..02d25212 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -697,7 +697,19 @@ def next_solution(self, opt_mode="ignore"): try: model = next(self._iterator) while optimizing and not model.optimality_proven: - self._logger.info("Skipping non-optimal model!") + if len(model.cost) == 0: + self._messages.append( + ( + "Browsing Error", + "No optimization provided", + "error", + ) + ) + self._logger.error( + "No optimization statement provided in encoding but optimization condition provided in 'next_solution' operation. Exiting browsing." + ) + raise StopIteration + self._logger.debug("Skipping non-optimal model!") model = next(self._iterator) self._clear_cache(["_ds_model"]) From a1f4858231488a7905b6d540439e7052a3e178b5 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Tue, 30 Jul 2024 19:53:55 -0600 Subject: [PATCH 53/61] Added constants and improved documentation --- .../application/backends/clingo_backend.py | 421 +++++++++++++----- .../backends/clingo_multishot_backend.py | 22 +- .../application/backends/clingodl_backend.py | 25 +- .../backends/explanation_backend.py | 12 +- clinguin/server/data/ui_state.py | 8 +- docs/clinguin/backends/Custom.rst | 12 +- docs/conf.py | 1 + 7 files changed, 353 insertions(+), 148 deletions(-) diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 02d25212..5cba3ebc 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -6,6 +6,7 @@ from functools import cached_property from pathlib import Path import functools +from typing import Any from clingo import Control, parse_term from clingo.script import enable_python @@ -31,41 +32,25 @@ class ClingoBackend: def __init__(self, args): """ - Creates the Backend with the given arguments. It will setup the context, files and constants. - It will define all domain-state constructors and their cache. - Finally, it calls all the setup methods: (_init_setup, _outdate,_init_ctl) and grounds the control + Creates the Backend with the given arguments. + It will setup all attributes by calling :func:`~_init_ds_constructors()` and :func:`~_restart()`. + + Generally this method should NOT be overwritten by custom backends. + Instead, custom backends should overwrite specialized methods. Arguments: args (ArgumentParser): The arguments from the argument parser that are given for the registered options. + """ + self._args = args + self._logger = logging.getLogger(args.log_args["name"]) - self.context = [] - self.args = args - self._domain_files = [] if args.domain_files is None else args.domain_files - if not args.ui_files: - raise RuntimeError("UI files need to be provided under --ui-files") - self._ui_files = args.ui_files - self._constants = args.const if args.const else [] - self._clingo_ctl_arg = args.clingo_ctl_arg if args.clingo_ctl_arg else [] - self._default_opt_mode = "ignore" - self._domain_state_constructors = [] - self._backup_ds_cache = {} + # Setup static attributes that might be changed by custom backends and must be preserved after restarts + self._init_ds_constructors() - self._init_setup() - self._outdate() - self._init_ctl() - self._ground() - - self._add_domain_state_constructor("_ds_context") - self._add_domain_state_constructor("_ds_unsat") - self._add_domain_state_constructor("_ds_browsing") - self._add_domain_state_constructor("_ds_cautious_optimal") - self._add_domain_state_constructor("_ds_brave_optimal") - self._add_domain_state_constructor("_ds_cautious") - self._add_domain_state_constructor("_ds_brave") - self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious - self._add_domain_state_constructor("_ds_opt") + # Restart the backend to initialize all attributes + self._restart() # --------------------------------------------- # Class methods @@ -74,7 +59,23 @@ def __init__(self, args): @classmethod def register_options(cls, parser): """ - Registers options in the command line for the domain files and ui files. + Registers options in the command line. + + It can be extended by custom backends to add custom command-line options. + + Example: + + .. code-block:: python + + @classmethod + def register_options(cls, parser): + ClingoMultishotBackend.register_options(parser) + + parser.add_argument( + "--my-custom-option", + help="Help message", + nargs="*", + ) Arguments: parser (ArgumentParser): A group of the argparse argument parser @@ -105,80 +106,230 @@ def register_options(cls, parser): Should have format =, for example parallel-mode=2 will become --parallel-mode=2.""", metavar="", ) + parser.add_argument( + "--default-opt-mode", + type=str, + help="Default optimization mode for computing a model", + default="ignore", + metavar="", + ) # --------------------------------------------- - # Context + # Properties # --------------------------------------------- - def _set_context(self, context): + @property + def _is_browsing(self): """ - Sets the context + Property to tell if clinguin is in browsing mode. + """ + return self._iterator is not None - Arguments: - context: The context dictionary + @property + def _constants_argument_list(self) -> list: + """ + Gets the constants as a list of strings in the format "-c =" + """ + return [f"-c {k}={v}" for k, v in self._constants.items()] + + @property + def _ctl_arguments_list(self) -> list: """ - self.context = context + Gets the list of arguments used for creating a control object + """ + return ( + ["0"] + + self._constants_argument_list + + [f"--{o}" for o in self._clingo_ctl_arg] + ) + + @property + def _assumption_list(self) -> list: + """ + A list of assumptions in the format [(a, True)] + """ + return [(a, True) for a in self._assumptions] # --------------------------------------------- # Setups # --------------------------------------------- - def _init_setup(self): + def _restart(self): """ - Initializes the arguments when the server starts or after a restart. - These arguments include, the handler and iterator for browsing answer sets, - as well as the domain control and the atoms. + Restarts the backend by setting all attributes, + initializing controls and grounding. + + Calls: :func:`~_init_command_line`, :func:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` """ - # For browising - self._handler = None - self._iterator = None + self._init_command_line() + self._init_interactive() + self._outdate() + self._init_ctl() + self._ground() - # To make static linters happy - self._atoms = set() + def _init_ds_constructors(self): + """ + This method initializes the domain state constructors list and the backup cache dictionary. + It also adds the default domain state constructors to the list. + This method is called only when the server starts. + + Attributes: + _domain_state_constructors (list): A list to store the domain state constructors. + _backup_ds_cache (dict): A dictionary to store the backup domain state cache. + + + It can be extended by custom backends to add/edit domain state constructors. + Adding a domain state constructor should be done by calling :func:`~_add_domain_state_constructor()`. + + Example: + + .. code-block:: python + + @property + def _ds_my_custom_constructor(self): + # Creates custom program + return "my_custom_program." + + def _init_ds_constructors(self): + super()._init_ds_constructors() + self._add_domain_state_constructor("_ds_my_custom_constructor") + + """ + self._domain_state_constructors = [] + self._backup_ds_cache = {} + self._add_domain_state_constructor("_ds_context") + self._add_domain_state_constructor("_ds_unsat") + self._add_domain_state_constructor("_ds_browsing") + self._add_domain_state_constructor("_ds_cautious_optimal") + self._add_domain_state_constructor("_ds_brave_optimal") + self._add_domain_state_constructor("_ds_cautious") + self._add_domain_state_constructor("_ds_brave") + self._add_domain_state_constructor("_ds_model") # Keep after brave and cautious + self._add_domain_state_constructor("_ds_opt") + + def _init_command_line(self): + """ + Initializes the attributes based on the command-line arguments provided. + This method is called when the server starts or after a restart. + + Attributes: + + _domain_files (list): The list of domain files provided via command line. + _ui_files (list): The list of UI files provided via command line. + _constants (dict): The dictionary of constants provided via command line. + _clingo_ctl_arg (list): The list of clingo control arguments provided via command line. + + If any command line arguments are added in :func:`~register_options`, they should be initialized here. + + Example: + + .. code-block:: python + + def _init_command_line(self): + super()._init_command_line() + self._my_custom_attr = self._args.my_custom_option + + + """ + + self._domain_files = self._args.domain_files or [] + + if not self._args.ui_files: + raise RuntimeError("UI files need to be provided under --ui-files") + self._ui_files = self._args.ui_files + + self._constants = {} + if self._args.const is not None: + for c in self._args.const: + if "=" not in c: + raise ValueError("Invalid constant format. Expected name=value.") + name, value = c.split("=") + self._constants[name] = value + + self._clingo_ctl_arg = self._args.clingo_ctl_arg or [] + + self._default_opt_mode = self._args.default_opt_mode + + def _init_interactive(self): + """ + Initializes the attributes that will change during the interaction. + This method is called when the server starts or after a restart. + + Attributes: + _context (list): A list to store the context set by the general handler of requests. + _handler (clingo.SolveHandle): The handler set while browsing in the `next_solution` operation. + _iterator (iter): The iterator set while browsing in the `next_solution` operation. + _ctl (clingo.Control): The domain control set in `_init_ctl`. + _ui_state (:class:`UIState`): A UIState object used to handle the UI construction, set in every call to `_update_ui_state`. + _atoms (set[str]): A set to store the atoms set dynamically in operations during the interaction. + _assumptions (set[str]): A set to store the assumptions set dynamically in operations during the interaction. + _externals (dict): A dictionary with true, false and released sets of external atoms + _model (list[clingo.Symbol]): The model set in `on_model`. + _unsat_core (list[int]): The unsatisfiable core set in `on_model`. + _cost (list): A list to store the cost set in `on_model`. + _optimal (bool): A boolean indicating if the solution is optimal, set in `on_model`. + _optimizing (bool): A boolean indicating if the solver is currently optimizing, set in `on_model`. + _messages (list[tuple[str,str,str]]): A list to store the messages (title, content, type) to be shown in the UI, set dynamically in operations during the interaction. + """ + # Context: Set by the general handler of requests + self._context = [] + + # Domain Control: Set in _init_ctl self._ctl = None - self._model = None + # UIState object to handle the UI construction: Set in every time in _update_ui_state + self._ui_state = None + + # Atoms and assumptions: Set dynamically in operations during the interaction + self._atoms = set() self._assumptions = set() + self._externals = {"true": set(), "false": set(), "released": set()} + + # Handler and Iterator: Set while browsing in next_solution operation + self._handler = None + self._iterator = None + + # Attributes from the model: Set in on_model + self._model = None self._unsat_core = None + self._cost = [] + self._optimal = False + self._optimizing = False - self._ui_state = None + # Messages to be shown in the UI: Set dynamically in operations during the interaction self._messages = [] - self._cost = [] # Set in on_model - self._optimal = False # Set in on_model - self._optimizing = False # Set in on_model - def _init_ctl(self): """ - Creates the control and loads the files + Creates the domain control and loads the domain files. + + Calls: :func:`~_create_ctl`, :func:`~_load_and_add` """ self._create_ctl() self._load_and_add() - @property - def _ctl_arguments_list(self): - """ - Gets the list of arguments used for creating a control object - """ - return ( - ["0"] - + [f"-c {v}" for v in self._constants] - + [f"--{o}" for o in self._clingo_ctl_arg] - ) - - def _create_ctl(self): + def _create_ctl(self) -> None: """ Initializes the control object (domain-control). It is used when the server is started or after a restart. + + Calls: :func:`~_load_file` """ self._logger.debug( domctl_log(f"domain_ctl = Control({self._ctl_arguments_list})") ) self._ctl = Control(self._ctl_arguments_list) - def _load_and_add(self): + def _load_and_add(self) -> None: """ - Loads domain files and atoms into the control + Loads domain files and atoms into the control. + + This method iterates over the domain files and atoms specified in the instance and loads them into the control. + It raises an exception if a domain file does not exist or if there is a syntax error in the logic program file. + + Raises: + Exception: If a domain file does not exist or if there is a syntax error in the logic program file. + """ for f in self._domain_files: path = Path(f) @@ -210,10 +361,41 @@ def _load_file(self, f): self._logger.debug(domctl_log(f"domctl.load({str(f)})")) self._ctl.load(str(f)) + def _set_context(self, context): + """ + Sets the context. Used by general endpoint handler after a request. + + Arguments: + context: The context dictionary + """ + self._context = context + + def _set_constant(self, name: str, value: Any) -> None: + """ + Sets a constant in the backend and restarts the control. + + Calls: :fun:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` + + Args: + name (str): name of the constant + value (Any): value of the constant + """ + self._constants[name] = value + name = name.strip('"') + value = str(value).strip('"') + self._constants[name] = value + self._logger.debug(f"Constant {name} updated successfully to {value}") + self._init_interactive() + self._outdate() + self._init_ctl() + self._ground() + def _outdate(self): """ Outdates all the dynamic values when a change has been made. Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + + Calls: :func:`~_clear_cache` """ if self._handler: self._handler.cancel() @@ -222,13 +404,6 @@ def _outdate(self): self._model = None self._clear_cache() - @property - def _is_browsing(self): - """ - Property to tell if clinguin is in browsing mode. - """ - return self._iterator is not None - # --------------------------------------------- # Solving # --------------------------------------------- @@ -247,11 +422,13 @@ def _prepare(self): """ Does any preparation before a solve call. """ + pass def _on_model(self, model): """ This method is called each time a model is obtained by the domain control. - It can be used to extend the given model in Theory Solving. + It sets the model, and optimization attributes. + It can be extended to add custom features of the model. Arguments: model (clingo.Model): The found clingo model @@ -264,7 +441,7 @@ def _on_model(self, model): def _add_atom(self, predicate_symbol): """ - Adds an atom if it hasn't been already aded + Adds an atom if it hasn't been already added Arguments: predicate_symbol (clingo.Symbool): The symbol for the atom @@ -272,23 +449,19 @@ def _add_atom(self, predicate_symbol): if predicate_symbol not in self._atoms: self._atoms.add(predicate_symbol) - def _get_assumptions(self): - """ - Gets the set of assumptions used for solving - """ - return self._assumptions - # --------------------------------------------- - # UI update + # UI state # --------------------------------------------- def _update_ui_state(self): """ Updates the UI state by calling all domain state methods - and creating a new control object (ui_control) using the ui_files provided + and creating a new control object (ui_control) using the UI files provided """ domain_state = self._domain_state - self._ui_state = UIState(self._ui_files, domain_state, self._constants) + self._ui_state = UIState( + self._ui_files, domain_state, self._constants_argument_list + ) self._ui_state.update_ui_state() self._ui_state.replace_images_with_b64() for m in self._messages: @@ -302,7 +475,7 @@ def _update_ui_state(self): def _add_domain_state_constructor(self, method: str): """ Adds a method name to the domain constructors. - This method needs to be annotated with ``@property`` or ``@cached_property`` + The provided method needs to be annotated with ``@property`` or ``@cached_property`` Arguments: method (str): Name of the property method @@ -355,12 +528,12 @@ def _call_solver_with_cache( self._prepare() self._logger.debug( domctl_log( - f"domctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + f"domctl.solve({[(str(a),b) for a,b in self._assumption_list]}, yield_=True)" ) ) symbols, ucore = solve( self._ctl, - [(a, True) for a in self._get_assumptions()], + self._assumption_list, self._on_model, ) self._unsat_core = ucore @@ -393,6 +566,8 @@ def _ui_uses_predicate(self, name: str, arity: int): def _domain_state(self): """ Gets the domain state by calling all the domain constructor methods + + Some domain state constructors might skip the computation if the UI does not require them. """ ds = "" for f in self._domain_state_constructors: @@ -405,10 +580,12 @@ def _domain_state(self): @property def _ds_context(self): """ - Gets the context as facts ``_clinguin_context(KEY, VALUE)`` + Adds context information from the client. + + Includes predicate ``_clinguin_context/2`` indicating each key and value in the context. """ prg = "#defined _clinguin_context/2. " - for a in self.context: + for a in self._context: value = str(a.value) try: symbol = parse_term(value) @@ -422,9 +599,9 @@ def _ds_context(self): @cached_property def _ds_model(self): """ - Computes model - + Computes model and adds all atoms as facts. When the model is being iterated by the user, the current model is returned. + It uses a cache that is erased after an operation makes changes in the control. """ if self._model is None: @@ -438,13 +615,11 @@ def _ds_model(self): self._prepare() self._logger.debug( domctl_log( - f"domctl.solve(assumptions={[(str(a), True) for a in self._get_assumptions()]}, yield_=True)" + f"domctl.solve({[(str(a),b) for a,b in self._assumption_list]}, yield_=True)" ) ) - symbols, ucore = solve( - self._ctl, [(a, True) for a in self._get_assumptions()], self._on_model - ) + symbols, ucore = solve(self._ctl, self._assumption_list, self._on_model) self._unsat_core = ucore if symbols is None: self._logger.warning( @@ -464,6 +639,8 @@ def _ds_model(self): def _ds_brave(self): """ Computes brave consequences adds them as predicates ``_any/1``. + This are atoms that appear in some model. + If it is not used in the UI files then the computation is not performed. It uses a cache that is erased after an operation makes changes in the control. """ @@ -476,6 +653,8 @@ def _ds_brave(self): def _ds_cautious(self): """ Computes cautious consequences adds them as predicates ``_all/1``. + This are atoms that appear in all models. + If it is not used in the UI files then the computation is not performed. It uses a cache that is erased after an operation makes changes in the control. """ @@ -490,6 +669,8 @@ def _ds_cautious(self): def _ds_brave_optimal(self): """ Computes brave consequences for only optimal solutions adds them as predicates ``_any_opt/1``. + This are atoms that appear in some optimal model. + If it is not used in the UI files then the computation is not performed. It uses a cache that is erased after an operation makes changes in the control. """ @@ -503,7 +684,9 @@ def _ds_brave_optimal(self): @cached_property def _ds_cautious_optimal(self): """ - Computes cautious consequences adds them as predicates ``_all_opt/1``. + Computes cautious consequences of optimal models adds them as predicates ``_all_opt/1``. + This are atoms that appear in all optimal models. + If it is not used in the UI files then the computation is not performed. It uses a cache that is erased after an operation makes changes in the control. """ @@ -541,7 +724,13 @@ def _ds_browsing(self): @property def _ds_opt(self): """ - Additional program to pass to the UI with optimality info + Adds program to pass with optimality information. + + Includes predicates: + - ``_clinguin_cost/1``: With a single tuple indicating the cost + - ``_clinguin_cost/2``: With the index and cost value, linearizing predicate ``_clinguin_cost/1`` + - ``_clinguin_optimal/0``: If the solution is optimal + - ``_clinguin_optimizing/0``: If there is an optimization in the program """ prg = "#defined _clinguin_cost/2. #defined _clinguin_cost/1. #defined _clinguin_optimal/1. " @@ -555,6 +744,18 @@ def _ds_opt(self): prg += f"_clinguin_cost({tuple(self._cost)}).\n" return prg + @property + def _ds_constants(self): + """ + Adds constants to the domain state. + + Includes predicate ``_clinguin_const/2`` for each constant provided in the command line and used in the domain files + """ + prg = "#defined _clinguin_const/2. " + for k, v in self._constants.items(): + prg += f"_clinguin_const({k},{v})." + return prg + "\n" + ######################################################################################################## # --------------------------------------------- @@ -565,7 +766,6 @@ def get(self): """ Updates the UI and transforms the facts into a JSON. This method will be automatically called after executing all the operations. - Thus, it needs to be implemented by all backends. """ self._update_ui_state() json_structure = StandardJsonEncoder.encode(self._ui_state) @@ -573,16 +773,13 @@ def get(self): def restart(self): """ - Restarts the backend by initializing parameters, controls, ending the browsing grounding and updating the UI + Restarts the backend by initializing all parameters, controls, ending the browsing and grounding """ - self._init_setup() - self._outdate() - self._init_ctl() - self._ground() + self._restart() def update(self): """ - Updates the UI and transforms the output into a JSON. + Updates the UI by clearing the cache. """ self._clear_cache() @@ -635,7 +832,7 @@ def clear_atoms(self): def add_atom(self, predicate): """ - Adds an assumption, restarts the control and grounds again + Adds an atom, restarts the control and grounds Arguments: @@ -650,7 +847,7 @@ def add_atom(self, predicate): def remove_atom(self, predicate): """ - Removes an assumption, restarts the control and grounds again + Removes an atom (if present), restarts the control and grounds again Arguments: @@ -686,12 +883,10 @@ def next_solution(self, opt_mode="ignore"): self._prepare() self._logger.debug( domctl_log( - f"domctl.solve({[(a, True) for a in self._get_assumptions()]}, yield_=True)" + f"domctl.solve({[(str(a),b) for a,b in self._assumption_list]}, yield_=True)" ) ) - self._handler = self._ctl.solve( - [(a, True) for a in self._get_assumptions()], yield_=True - ) + self._handler = self._ctl.solve(self._assumption_list, yield_=True) self._iterator = iter(self._handler) try: @@ -735,6 +930,12 @@ def select(self): def stop_browsing(self): """ - Stops the current browsing + Stops the current browsing. """ self._outdate() + + def set_constant(self, name: str, value: Any): + """ + Sets a constant value reinitialize the control and grounds + """ + self._set_constant(name, value) diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index bc0106db..1f840c5d 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -20,33 +20,19 @@ class ClingoMultishotBackend(ClingoBackend): It is selected as the default Backend """ - def __init__(self, args): - super().__init__(args) - - self._add_domain_state_constructor("_ds_assume") - # --------------------------------------------- # Setups # --------------------------------------------- - def _init_setup(self): - """ - Initializes the arguments when the server starts or after a restart. - These arguments include, the handler and iterator for browsing answer sets, - as well as the domain control, the atoms, assumptions and externals - """ - super()._init_setup() - # To make static linters happy - self._externals = {"true": set(), "false": set(), "released": set()} + def _init_ds_constructors(self): + super()._init_ds_constructors() + self._add_domain_state_constructor("_ds_assume") # --------------------------------------------- # Solving # --------------------------------------------- def _add_assumption(self, predicate_symbol): - """ - Adds an assumption to the set - """ self._assumptions.add(predicate_symbol) # --------------------------------------------- @@ -61,7 +47,7 @@ def _ds_assume(self): Includes predicate ``_clinguin_assume/1`` for every atom that was assumed. """ prg = "#defined _clinguin_assume/1. " - for a in self._get_assumptions(): + for a, _ in self._assumption_list: prg += f"_clinguin_assume({str(a)}). " return prg + "\n" diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 0f140c9f..02aab867 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -24,18 +24,27 @@ class ClingoDLBackend(ClingoMultishotBackend): It also includes the assignment in the domain state. """ - def __init__(self, args): - dl_config = [a.split("=") for a in args.dl_config] if args.dl_config else [] - self._dl_conf = [(a[0], a[1]) for a in dl_config] - - super().__init__(args) - - self._add_domain_state_constructor("_ds_assign") - # --------------------------------------------- # Setups # --------------------------------------------- + def _init_command_line(self): + """ + Initializes the command line. + """ + super()._init_command_line() + dl_config = ( + [a.split("=") for a in self._args.dl_config] if self._args.dl_config else [] + ) + self._dl_conf = [(a[0], a[1]) for a in dl_config] + + def _init_ds_constructors(self): + """ + Initializes the domain state constructors. + """ + super()._init_ds_constructors() + self._add_domain_state_constructor("_ds_assign") + def _create_ctl(self): """ Initializes the control object (domain-control). diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index 544574e9..4af4d999 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -97,12 +97,14 @@ def _load_file(self, f): self._logger.debug(domctl_log(f'domctl.add("base", [], {transformed_program})')) self._ctl.add("base", [], transformed_program) - def _get_assumptions(self): + @property + def _assumption_list(self): """ - Gets the set of assumptions used for solving + Gets the set of assumptions used for solving. It includes the assumptions from the assumption signatures provided. """ - - return self._assumptions.union(self._transformer_assumptions) + return [ + (a, True) for a in self._assumptions.union(self._transformer_assumptions) + ] def _outdate(self): """ @@ -126,7 +128,7 @@ def _ds_mus(self): prg = "#defined _clinguin_mus/1.\n" if self._unsat_core is not None: self._logger.info("UNSAT Answer, will add explanation") - cc = CoreComputer(self._ctl, [(a, True) for a in self._get_assumptions()]) + cc = CoreComputer(self._ctl, self._assumption_list) cc.shrink() mus_core = cc.minimal for s, v in mus_core: diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 49b58ba9..ef7b5c6f 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -32,11 +32,11 @@ class UIState: unifiers = [ElementDao, AttributeDao, WhenDao] - def __init__(self, ui_files, domain_state, constants): + def __init__(self, ui_files, domain_state, constants_arg_list): self._factbase = None self._ui_files = ui_files self._domain_state = domain_state - self._constants = constants + self._constants_arg_list = constants_arg_list def __str__(self): s = "\nUI State:\n=========\n" @@ -61,10 +61,10 @@ def ui_control(self): """ log.debug( uictl_log( - f'uictl = Control(["0", "--warn=none"] + {[f"-c {v}" for v in self._constants]})' + f'uictl = Control(["0", "--warn=none"] + {self._constants_arg_list})' ) ) - uictl = Control(["0", "--warn=none"] + [f"-c {v}" for v in self._constants]) + uictl = Control(["0", "--warn=none"] + self._constants_arg_list) for f in self._ui_files: path = Path(f) if not path.is_file(): diff --git a/docs/clinguin/backends/Custom.rst b/docs/clinguin/backends/Custom.rst index 12352514..19b7f0bf 100644 --- a/docs/clinguin/backends/Custom.rst +++ b/docs/clinguin/backends/Custom.rst @@ -65,7 +65,15 @@ When a custom argument is added to the backend if will likely need to be handled * `clingodl_backend `_ -.. automethod:: ClingoMultishotBackend._init_setup +.. automethod:: ClingoMultishotBackend._restart + +.. automethod:: ClingoMultishotBackend._init_ds_constructors + +.. automethod:: ClingoMultishotBackend._init_command_line + +.. automethod:: ClingoMultishotBackend._init_interactive + +.. automethod:: ClingoMultishotBackend._init_ctl .. automethod:: ClingoMultishotBackend._create_ctl @@ -98,8 +106,6 @@ They can be ovweritten for theory extensions among other things. .. automethod:: ClingoMultishotBackend._add_atom -.. automethod:: ClingoMultishotBackend._get_assumptions - UI updates ++++++++++ diff --git a/docs/conf.py b/docs/conf.py index 86e08c09..e881d427 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,6 +28,7 @@ "clingexplaid", ] + # -- Project information ----------------------------------------------------- project = "clinguin" From c33f3adcd582755b9e141af3d66d9dac06eb3c84 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Thu, 1 Aug 2024 19:07:50 -0600 Subject: [PATCH 54/61] General reordering and new docs --- .../server/application/backends/__init__.py | 2 +- .../application/backends/clingo_backend.py | 123 ++++---- .../backends/clingo_multishot_backend.py | 90 +++--- .../application/backends/clingodl_backend.py | 48 ++- .../application/backends/clingraph_backend.py | 27 +- .../backends/explanation_backend.py | 138 +++++---- clinguin/utils/annotations.py | 145 +++++++++ docs/clinguin/backends/ClingoBackend.rst | 31 +- docs/clinguin/backends/ClingoDLBackend.rst | 19 +- .../backends/ClingoMultishotBackend.rst | 17 +- docs/clinguin/backends/ClingraphBackend.rst | 43 ++- docs/clinguin/backends/Custom.rst | 167 ----------- docs/clinguin/backends/ExplanationBackend.rst | 12 +- docs/clinguin/backends/index.rst | 10 +- .../angular.rst} | 49 +-- docs/clinguin/development/api.rst | 22 ++ docs/clinguin/development/contributing.rst | 46 +++ docs/clinguin/development/customBackend.rst | 278 ++++++++++++++++++ docs/clinguin/development/index.rst | 47 +++ docs/clinguin/development/install.rst | 16 + docs/clinguin/frontends/AngularFrontend.rst | 70 +++-- docs/clinguin/frontends/TkinterFrontend.rst | 8 +- docs/clinguin/installation.rst | 71 +---- docs/clinguin/reference/state.rst | 2 +- docs/clinguin/reference/structure.rst | 6 +- docs/conf.py | 14 +- docs/index.rst | 4 +- setup.cfg | 1 + 28 files changed, 983 insertions(+), 523 deletions(-) create mode 100644 clinguin/utils/annotations.py delete mode 100644 docs/clinguin/backends/Custom.rst rename docs/clinguin/{development.rst => development/angular.rst} (85%) create mode 100644 docs/clinguin/development/api.rst create mode 100644 docs/clinguin/development/contributing.rst create mode 100644 docs/clinguin/development/customBackend.rst create mode 100644 docs/clinguin/development/index.rst create mode 100644 docs/clinguin/development/install.rst diff --git a/clinguin/server/application/backends/__init__.py b/clinguin/server/application/backends/__init__.py index a007c6cc..c979e114 100644 --- a/clinguin/server/application/backends/__init__.py +++ b/clinguin/server/application/backends/__init__.py @@ -1,5 +1,5 @@ """ -Module that contains the default backends ClingoMultishotBackend, ClingraphBackend and TemporalBackend. +Module that contains the backends """ # pylint: disable=cyclic-import diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 5cba3ebc..5b20d939 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -23,11 +23,7 @@ class ClingoBackend: """ - The ClingoBackend contains the basic clingo functionality for a backend using clingo. - - When started it sets up all the arguments provided via the command line, - and creates a control object (domain-control) with the provided domain files. - It grounds the program and creates an empty UI state. + This backend contains the basic clingo functionality for a backend using clingo. """ def __init__(self, args): @@ -63,6 +59,9 @@ def register_options(cls, parser): It can be extended by custom backends to add custom command-line options. + Arguments: + parser (ArgumentParser): A group of the argparse argument parser + Example: .. code-block:: python @@ -77,8 +76,6 @@ def register_options(cls, parser): nargs="*", ) - Arguments: - parser (ArgumentParser): A group of the argparse argument parser """ parser.add_argument( "--domain-files", @@ -151,15 +148,17 @@ def _assumption_list(self) -> list: return [(a, True) for a in self._assumptions] # --------------------------------------------- - # Setups + # Initialization # --------------------------------------------- def _restart(self): """ Restarts the backend by setting all attributes, initializing controls and grounding. + It is automatically called when the server starts. - Calls: :func:`~_init_command_line`, :func:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` + See Also: + :func:`~_init_command_line`, :func:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` """ self._init_command_line() self._init_interactive() @@ -219,7 +218,7 @@ def _init_command_line(self): _constants (dict): The dictionary of constants provided via command line. _clingo_ctl_arg (list): The list of clingo control arguments provided via command line. - If any command line arguments are added in :func:`~register_options`, they should be initialized here. + If any command line arguments are added in :meth:`~ClingoBackend.register_options`, they should be initialized here. Example: @@ -303,7 +302,8 @@ def _init_ctl(self): """ Creates the domain control and loads the domain files. - Calls: :func:`~_create_ctl`, :func:`~_load_and_add` + See Also: + :func:`~_create_ctl`, :func:`~_load_and_add` """ self._create_ctl() self._load_and_add() @@ -313,7 +313,8 @@ def _create_ctl(self) -> None: Initializes the control object (domain-control). It is used when the server is started or after a restart. - Calls: :func:`~_load_file` + See Also: + :func:`~_load_file` """ self._logger.debug( domctl_log(f"domain_ctl = Control({self._ctl_arguments_list})") @@ -330,6 +331,8 @@ def _load_and_add(self) -> None: Raises: Exception: If a domain file does not exist or if there is a syntax error in the logic program file. + See Also: + :func:`~_load_file` """ for f in self._domain_files: path = Path(f) @@ -361,6 +364,36 @@ def _load_file(self, f): self._logger.debug(domctl_log(f"domctl.load({str(f)})")) self._ctl.load(str(f)) + def _outdate(self): + """ + Outdates all the dynamic values when a change has been made. + Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + + See Also: + :func:`~_clear_cache` + """ + if self._handler: + self._handler.cancel() + self._handler = None + self._iterator = None + self._model = None + self._clear_cache() + + # --------------------------------------------- + # Setters + # --------------------------------------------- + + def _add_domain_state_constructor(self, method: str): + """ + Adds a method name to the domain constructors. + The provided method needs to be annotated with ``@property`` or ``@cached_property`` + + Arguments: + method (str): Name of the property method + """ + + self._domain_state_constructors.append(method) + def _set_context(self, context): """ Sets the context. Used by general endpoint handler after a request. @@ -374,8 +407,6 @@ def _set_constant(self, name: str, value: Any) -> None: """ Sets a constant in the backend and restarts the control. - Calls: :fun:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` - Args: name (str): name of the constant value (Any): value of the constant @@ -385,24 +416,16 @@ def _set_constant(self, name: str, value: Any) -> None: value = str(value).strip('"') self._constants[name] = value self._logger.debug(f"Constant {name} updated successfully to {value}") - self._init_interactive() - self._outdate() - self._init_ctl() - self._ground() - def _outdate(self): + def _add_atom(self, predicate_symbol): """ - Outdates all the dynamic values when a change has been made. - Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + Adds an atom if it hasn't been already added - Calls: :func:`~_clear_cache` + Arguments: + predicate_symbol (clingo.Symbool): The symbol for the atom """ - if self._handler: - self._handler.cancel() - self._handler = None - self._iterator = None - self._model = None - self._clear_cache() + if predicate_symbol not in self._atoms: + self._atoms.add(predicate_symbol) # --------------------------------------------- # Solving @@ -439,16 +462,6 @@ def _on_model(self, model): self._optimal = model.optimality_proven self._cost = model.cost - def _add_atom(self, predicate_symbol): - """ - Adds an atom if it hasn't been already added - - Arguments: - predicate_symbol (clingo.Symbool): The symbol for the atom - """ - if predicate_symbol not in self._atoms: - self._atoms.add(predicate_symbol) - # --------------------------------------------- # UI state # --------------------------------------------- @@ -472,17 +485,6 @@ def _update_ui_state(self): # Domain state # --------------------------------------------- - def _add_domain_state_constructor(self, method: str): - """ - Adds a method name to the domain constructors. - The provided method needs to be annotated with ``@property`` or ``@cached_property`` - - Arguments: - method (str): Name of the property method - """ - - self._domain_state_constructors.append(method) - def _clear_cache(self, methods=None): """ Clears the cache of domain state constructor methods @@ -601,6 +603,7 @@ def _ds_model(self): """ Computes model and adds all atoms as facts. When the model is being iterated by the user, the current model is returned. + It will use as optimality the mode set in the command line as `default-opt-mode` (`ignore` by default). It uses a cache that is erased after an operation makes changes in the control. """ @@ -747,9 +750,9 @@ def _ds_opt(self): @property def _ds_constants(self): """ - Adds constants to the domain state. + Adds constants values. - Includes predicate ``_clinguin_const/2`` for each constant provided in the command line and used in the domain files + Includes predicate ``_clinguin_const/2`` for each constant provided in the command line and used in the domain files. """ prg = "#defined _clinguin_const/2. " for k, v in self._constants.items(): @@ -773,19 +776,20 @@ def get(self): def restart(self): """ - Restarts the backend by initializing all parameters, controls, ending the browsing and grounding + Restarts the backend. It will initialize all attributes, remove atoms, assumptions and externals, + restart the control object by initializing all parameters, controls, ending the browsing and grounding. """ self._restart() def update(self): """ - Updates the UI by clearing the cache. + Updates the UI by clearing the cache and computing the models again. """ self._clear_cache() def download(self, show_prg=None, file_name="clinguin_download.lp"): """ - Downloads the current model. + Downloads the current model. It must be selected first via :func:`~select` . Arguments: show_prg (_type_, optional): Program to filter output using show statements. Defaults to None. @@ -793,6 +797,7 @@ def download(self, show_prg=None, file_name="clinguin_download.lp"): """ if self._model is None: raise RuntimeError("Cant download when there is no model") + show_prg = show_prg or "" prg = "\n".join([f"{s}." for s in self._model]) ctl = Control() ctl.add("base", [], prg) @@ -822,7 +827,7 @@ def download(self, show_prg=None, file_name="clinguin_download.lp"): def clear_atoms(self): """ - Removes all atoms and resets the backend (i.e. it regrounds, etc.) + Removes all atoms and resets the backend. and finally updates the model and returns the updated gui as a Json structure. """ self._outdate() @@ -863,7 +868,7 @@ def remove_atom(self, predicate): def next_solution(self, opt_mode="ignore"): """ Obtains the next solution. If a no browsing has been started yet, then it calls solve, - otherwise it iterates the models in the last call. + otherwise it iterates the models in the last call. To keep the atoms shown in the solution, use :func:`~select`. Arguments: opt_mode: The clingo optimization mode, bu default is 'ignore', to browse only optimal models use 'optN' @@ -936,6 +941,10 @@ def stop_browsing(self): def set_constant(self, name: str, value: Any): """ - Sets a constant value reinitialize the control and grounds + Sets a constant value. Will reinitialize the control, ground and set arguments """ self._set_constant(name, value) + self._init_interactive() + self._outdate() + self._init_ctl() + self._ground() diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index 1f840c5d..b92f9db8 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -6,6 +6,7 @@ from clingo import parse_term, Control from clingo.script import enable_python +from clinguin.utils.annotations import overwrites, extends from clinguin.server.application.backends import ClingoBackend from ....utils.logger import domctl_log @@ -21,19 +22,65 @@ class ClingoMultishotBackend(ClingoBackend): """ # --------------------------------------------- - # Setups + # Initialization # --------------------------------------------- - + @extends(ClingoBackend) def _init_ds_constructors(self): super()._init_ds_constructors() self._add_domain_state_constructor("_ds_assume") # --------------------------------------------- - # Solving + # Setters # --------------------------------------------- - def _add_assumption(self, predicate_symbol): - self._assumptions.add(predicate_symbol) + def _set_external(self, symbol, name): + """ + Sets the external value of a symbol. + + Args: + symbol (clingo.Symbol): The clingo symbol to be set + name (str): Either "true", "false" or "release" + """ + if name == "release": + self._logger.debug(domctl_log(f"ctl.release_external({symbol})")) + self._ctl.release_external(symbol) + self._externals["released"].add(symbol) + + if symbol in self._externals["true"]: + self._externals["true"].remove(symbol) + + if symbol in self._externals["false"]: + self._externals["false"].remove(symbol) + + elif name == "true": + self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, True)")) + self._ctl.assign_external(symbol, True) + self._externals["true"].add(symbol) + + if symbol in self._externals["false"]: + self._externals["false"].remove(symbol) + + elif name == "false": + self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, False)")) + self._ctl.assign_external(symbol, False) + self._externals["false"].add(symbol) + + if symbol in self._externals["true"]: + self._externals["true"].remove(symbol) + + else: + raise ValueError( + f"Invalid external value {name}. Must be true, false or relase" + ) + + def _add_assumption(self, symbol): + """ + Adds an assumption to the list of assumptions. + + Args: + symbol (clingo.Symbol): The clingo symbol to be added as a True assumption + """ + self._assumptions.add(symbol) # --------------------------------------------- # Domain state @@ -136,38 +183,9 @@ def set_external(self, atom, value): name = value self._outdate() - if name == "release": - self._logger.debug(domctl_log(f"ctl.release_external({symbol})")) - self._ctl.release_external(symbol) - self._externals["released"].add(symbol) - - if symbol in self._externals["true"]: - self._externals["true"].remove(symbol) - - if symbol in self._externals["false"]: - self._externals["false"].remove(symbol) - - elif name == "true": - self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, True)")) - self._ctl.assign_external(symbol, True) - self._externals["true"].add(symbol) - - if symbol in self._externals["false"]: - self._externals["false"].remove(symbol) - - elif name == "false": - self._logger.debug(domctl_log(f"ctl.assign_external({symbol}, False)")) - self._ctl.assign_external(symbol, False) - self._externals["false"].add(symbol) - - if symbol in self._externals["true"]: - self._externals["true"].remove(symbol) - - else: - raise ValueError( - f"Invalid external value {name}. Must be true, false or relase" - ) + self._set_external(symbol, name) + @overwrites(ClingoBackend) def select(self, show_prg: str = ""): """ Select the current solution during browsing. diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index 02aab867..bd66e036 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -13,6 +13,7 @@ from clinguin.server.application.backends.clingo_multishot_backend import ( ClingoMultishotBackend, ) +from clinguin.utils.annotations import extends enable_python() # pylint: disable=attribute-defined-outside-init @@ -28,9 +29,10 @@ class ClingoDLBackend(ClingoMultishotBackend): # Setups # --------------------------------------------- + @extends(ClingoMultishotBackend) def _init_command_line(self): """ - Initializes the command line. + Sets the dl configuration """ super()._init_command_line() dl_config = ( @@ -38,17 +40,26 @@ def _init_command_line(self): ) self._dl_conf = [(a[0], a[1]) for a in dl_config] - def _init_ds_constructors(self): + @extends(ClingoMultishotBackend) + def _init_interactive(self): """ - Initializes the domain state constructors. + Initializes the list of the assignments + + Attributes: + _assignment (List[Tuple[str, int]]): The list of assignments """ + super()._init_interactive() + self._assignment = [] + + @extends(ClingoMultishotBackend) + def _init_ds_constructors(self): super()._init_ds_constructors() self._add_domain_state_constructor("_ds_assign") + @extends(ClingoMultishotBackend) def _create_ctl(self): """ - Initializes the control object (domain-control). - It is used when the server is started or after a restart. + Registers the ClingoDLTheory. """ super()._create_ctl() self._theory = ClingoDLTheory() @@ -56,20 +67,18 @@ def _create_ctl(self): self._theory.configure(k, v) self._theory.register(self._ctl) + @extends(ClingoMultishotBackend) def _load_file(self, f): """ - Loads a file into the control. Uses the program builder to rewrite and add. - - Arguments: - f (str): The file path + Uses the program builder to rewrite the theory atoms. """ with ProgramBuilder(self._ctl) as bld: parse_files([f], lambda ast: self._theory.rewrite_ast(ast, bld.add)) + @extends(ClingoMultishotBackend) def _outdate(self): """ - Outdates all the dynamic values when a change has been made. - Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + Sets the assignment to empty. """ super()._outdate() self._assignment = [] @@ -77,12 +86,19 @@ def _outdate(self): # --------------------------------------------- # Solving # --------------------------------------------- - + @extends(ClingoMultishotBackend) def _prepare(self): + """ + Prepares the theory before solving + """ # pylint: disable=attribute-defined-outside-init self._theory.prepare(self._ctl) + @extends(ClingoMultishotBackend) def _on_model(self, model): + """ + Sets the assignment from the model + """ super()._on_model(model) self._theory.on_model(model) # pylint: disable=attribute-defined-outside-init @@ -95,9 +111,10 @@ def _on_model(self, model): # --------------------------------------------- @classmethod + @extends(ClingoMultishotBackend) def register_options(cls, parser): """ - Registers command line options. + Adds the `dl-config` option. """ ClingoMultishotBackend.register_options(parser) @@ -118,7 +135,10 @@ def register_options(cls, parser): @property def _ds_assign(self): """ - Additional program to pass to the UI computation with assignments + Adds program with assignments + + Includes predicate ``_clinguin_assign/2`` with the assignments. + """ if not self._ui_uses_predicate("_clinguin_assign", 2): return "% NOT USED\n" diff --git a/clinguin/server/application/backends/clingraph_backend.py b/clinguin/server/application/backends/clingraph_backend.py index 8e54b643..efd91f36 100644 --- a/clinguin/server/application/backends/clingraph_backend.py +++ b/clinguin/server/application/backends/clingraph_backend.py @@ -20,6 +20,7 @@ # Self defined from clinguin.utils import StandardTextProcessing, image_to_b64 from ....utils.transformer import UsesSignatureTransformer +from clinguin.utils.annotations import extends, overwrites class ClingraphBackend(ClingoMultishotBackend): @@ -29,18 +30,22 @@ class ClingraphBackend(ClingoMultishotBackend): Then, they are sent the client as Base64 encoding. """ - def __init__(self, args): - super().__init__(args) + @extends(ClingoMultishotBackend) + def _init_command_line(self): + """ + Sets the arguments for computing clingraph images. + """ + super()._init_command_line() + self._clingraph_files = self._args.clingraph_files + self._select_model = self._args.select_model + self._type = self._args.type + self._select_graph = self._args.select_graph + self._dir = self._args.dir + self._name_format = self._args.name_format + self._engine = self._args.engine - self._clingraph_files = args.clingraph_files - self._select_model = args.select_model - self._type = args.type - self._select_graph = args.select_graph - self._dir = args.dir - self._name_format = args.name_format - self._engine = args.engine + self._intermediate_format = self._args.intermediate_format - self._intermediate_format = args.intermediate_format self._attribute_image_key = "image_type" self._attribute_image_value = "clingraph" @@ -195,6 +200,7 @@ def register_options(cls, parser): ) @functools.lru_cache(maxsize=None) + @overwrites(ClingoMultishotBackend) def _ui_uses_predicate(self, name: str, arity: int): """ Returns a truth value of weather the ui_files contain the given signature. @@ -212,6 +218,7 @@ def _ui_uses_predicate(self, name: str, arity: int): # UI update # --------------------------------------------- + @extends(ClingoMultishotBackend) def _update_ui_state(self): """ Updates the UI state by calling all domain state methods diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index 4af4d999..8b1efe23 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -14,6 +14,7 @@ from clinguin.server.application.backends.clingo_multishot_backend import ( ClingoMultishotBackend, ) +from clinguin.utils.annotations import extends enable_python() @@ -25,46 +26,103 @@ class ExplanationBackend(ClingoMultishotBackend): the faulty assumptions. """ - def __init__(self, args): - self._mus = None - self._mc_base_assumptions = set() - self._parse_assumption_signature(args) - self._assumption_transformer = AssumptionTransformer( - signatures=self._assumption_sig - ) - super().__init__(args) - self._transformer_assumptions = ( - self._assumption_transformer.get_assumption_symbols( - self._ctl, arguments=self._ctl_arguments_list - ) - ) + # --------------------------------------------- + # Properties + # --------------------------------------------- - self._add_domain_state_constructor("_ds_mus") + @property + def _assumption_list(self): + """ + Gets the set of assumptions used for solving. It includes the assumptions from the assumption signatures provided. + + Warning: + + Overwrites :meth:`ClingoBackend._assumption_list` + """ + return [ + (a, True) for a in self._assumptions.union(self._assumptions_from_signature) + ] # --------------------------------------------- - # Private methods + # Initialization # --------------------------------------------- - def _parse_assumption_signature(self, args): + @extends(ClingoMultishotBackend) + def _init_interactive(self): """ - Parse assumption signatures in the arguments + Adds the MUS property + + Attributes: + _mus (str): The list of assumptions in the MUS property + """ + super()._init_interactive() + self._mus = None + + @extends(ClingoMultishotBackend) + def _init_command_line(self): + """ + Sets the assumption signature and the transformer used for the input files + + Attributes: + _assumption_sig (List[Tuple[str, int]]): The list of assumption signatures + _assumption_transformer (clingexplaid.AssumptionTransformer): The transformer used for the input files """ + super()._init_command_line() self._assumption_sig = [] - if args.assumption_signature is None: - return - for a in args.assumption_signature: + for a in self._args.assumption_signature or []: try: self._assumption_sig.append((a.split(",")[0], int(a.split(",")[1]))) except Exception as ex: raise ValueError( "Argument assumption_signature must have format name,arity" ) from ex + self._assumption_transformer = AssumptionTransformer( + signatures=self._assumption_sig + ) + + @extends(ClingoMultishotBackend) + def _init_ds_constructors(self): + super()._init_ds_constructors() + self._add_domain_state_constructor("_ds_mus") + + @extends(ClingoMultishotBackend) + def _load_file(self, f): + """ + Loads a file into the control. Transforms the program to add choices around assumption signatures. + + Arguments: + f (str): The file path + + """ + + transformed_program = self._assumption_transformer.parse_files([f]) + self._logger.debug(domctl_log(f'domctl.add("base", [], {transformed_program})')) + self._ctl.add("base", [], transformed_program) + + # --------------------------------------------- + # Solving + # --------------------------------------------- + @extends(ClingoMultishotBackend) + def _ground(self): + """ + Sets the list of assumptions that were taken from the input files using the assumption_signature. + + Attributes: + _assumptions_from_signature (Set[clingo.Symbol]): The set of assumptions from the assumption signatures + """ + super()._ground() + self._assumptions_from_signature = ( + self._assumption_transformer.get_assumption_symbols( + self._ctl, arguments=self._ctl_arguments_list + ) + ) # --------------------------------------------- # Class methods # --------------------------------------------- @classmethod + @extends(ClingoMultishotBackend) def register_options(cls, parser): """ Registers command line options for ClingraphBackend. @@ -81,38 +139,16 @@ def register_options(cls, parser): metavar="", ) - # --------------------------------------------- - # Setups - # --------------------------------------------- + # def _outdate(self): + # """ + # Outdates all the dynamic values when a change has been made. + # Any current interaction in the models wil be terminated by canceling the search and removing the iterator. + # It also clears the cache for the MUS. - def _load_file(self, f): - """ - Loads a file into the control. Transforms the program to add choices around assumption signatures. - - Arguments: - f (str): The file path - """ - - transformed_program = self._assumption_transformer.parse_files([f]) - self._logger.debug(domctl_log(f'domctl.add("base", [], {transformed_program})')) - self._ctl.add("base", [], transformed_program) - - @property - def _assumption_list(self): - """ - Gets the set of assumptions used for solving. It includes the assumptions from the assumption signatures provided. - """ - return [ - (a, True) for a in self._assumptions.union(self._transformer_assumptions) - ] - - def _outdate(self): - """ - Outdates all the dynamic values when a change has been made. - Any current interaction in the models wil be terminated by canceling the search and removing the iterator. - """ - super()._outdate() - self._clear_cache(["_ds_mus"]) + # Calls: :func:`~_clear_cache` + # """ + # super()._outdate() + # self._clear_cache(["_ds_mus"]) # --------------------------------------------- # Domain state diff --git a/clinguin/utils/annotations.py b/clinguin/utils/annotations.py new file mode 100644 index 00000000..8e56ba8b --- /dev/null +++ b/clinguin/utils/annotations.py @@ -0,0 +1,145 @@ +# import clinguin.server.application.backends +# from clinguin.server.application.backends import * + +import sys + + +def extends(super_cls): + def decorator(func): + def wrapper(self, *args, **kwargs): + return func(self, *args, **kwargs) + + wrapper.__name__ = func.__name__ + wrapper.__doc__ = ( + (func.__doc__ or "") + + f""" + Warning: + Extends :meth:`{super_cls.__name__}.{func.__name__}` + """ + ) + return wrapper + + return decorator + + +def overwrites(super_cls): + def decorator(func): + def wrapper(self, *args, **kwargs): + return func(self, *args, **kwargs) + + wrapper.__name__ = func.__name__ + wrapper.__doc__ = ( + (func.__doc__ or "") + + f""" + Warning: + Overwrites :meth:`{super_cls.__name__}.{func.__name__}` + """ + ) + return wrapper + + return decorator + + +# def overwrites(func): + +# def wrapper(self, *args, **kwargs): +# return func(self, *args, **kwargs) + +# cls_name = func.__qualname__.split(".")[0] +# module_name = func.__module__ +# module = sys.modules[module_name] +# cls = getattr(module, cls_name, None) + +# if cls is None: +# raise KeyError(f"Class {cls_name} not found in module {module_name}") + +# super_cls = cls.__bases__[0].__name__ +# overwrite_str = f""" +# Warning: +# Overwrites :meth:`{super_cls}.{func.__name__}` +# """ +# wrapper.__name__ = func.__name__ +# wrapper.__doc__ = (func.__doc__ or "") + overwrite_str + +# return wrapper + + +# import inspect + + +# def overwrites(func): +# def wrapper(self, *args, **kwargs): +# return func(self, *args, **kwargs) + +# cls = None +# for cls_candidate in inspect.getmro(type(func.__globals__)): +# if func.__name__ in cls_candidate.__dict__: +# cls = cls_candidate +# break + +# if cls is None: +# raise KeyError(f"Class for method {func.__name__} not found") + +# super_cls = cls.__bases__[0].__name__ +# overwrite_str = f""" +# Warning: +# Overwrites :meth:`{super_cls}.{func.__name__}` +# """ +# wrapper.__name__ = func.__name__ +# wrapper.__doc__ = (func.__doc__ or "") + overwrite_str + +# return wrapper + + +# # def overwrites(func): +# # def wrapper(self, *args, **kwargs): +# # return func(self, *args, **kwargs) + +# # cls = func.__qualname__.split(".")[0] +# # super_cls = func.__globals__[cls].__bases__[0].__name__ +# # overwrite_str = f""" +# # Warning: +# # Overwrites :meth:`{super_cls}.{func.__name__}` +# # """ +# # wrapper.__name__ = func.__name__ +# # wrapper.__doc__ = (func.__doc__ or "") + overwrite_str + +# # return wrapper + + +# # # def overwrites(func): +# # # cls = None +# # # cls = None + +# # # def wrapper(self, *args, **kwargs): +# # # cls = type(self) +# # # return func(self, *args, **kwargs) + +# # # overwrite_str = f""" +# # # Warning: +# # # {cls} +# # # {cls.__bases__} +# # # Overwrites :meth:`{func.__class__.__bases__[-1].__name__}.{func.__name__}` +# # # """ +# # # wrapper.__name__ = func.__name__ +# # # wrapper.__doc__ = func.__doc__ + overwrite_str + +# # # return wrapper + +# # # # def overwrites(func): + +# # # # def inner(): +# # # # func() + +# # # # help(func) +# # # overwrite_str = f""" +# # # Warning: +# # # {func.__class__} +# # # {func.__class__.__bases__} +# # # Overwrites :meth:`{func.__class__.__bases__[-1].__name__}.{func.__name__}` +# # # """ + + +# # # # inner.__name__ = func.__name__ +# # # # inner.__doc__ = func.__doc__ + overwrite_str +# # # # return inner diff --git a/docs/clinguin/backends/ClingoBackend.rst b/docs/clinguin/backends/ClingoBackend.rst index 5cf9061e..4243202d 100644 --- a/docs/clinguin/backends/ClingoBackend.rst +++ b/docs/clinguin/backends/ClingoBackend.rst @@ -11,24 +11,37 @@ Implements all basic clingo functionality for single-shot solving. .. currentmodule:: clinguin.server.application.backends +Public operations ++++++++++++++++++ + +Can be used as `OPERATION` in the actions of the :ref:`ui-state` + .. autoclass:: ClingoBackend :members: :noindex: - :exclude-members: register_options, get + :exclude-members: register_options, get, __init__ + Domain state constructors -+++++++++++++++++++++++++ ++++++++++++++++++++++++++ + + +.. autoproperty:: ClingoBackend._ds_context + +.. autoproperty:: ClingoBackend._ds_model + +.. autoproperty:: ClingoBackend._ds_brave -The domain state also inclues domain constructors from the parent class. +.. autoproperty:: ClingoBackend._ds_cautious -.. automethod:: ClingoBackend._ds_context +.. autoproperty:: ClingoBackend._ds_brave_optimal -.. automethod:: ClingoBackend._ds_brave +.. autoproperty:: ClingoBackend._ds_cautious_optimal -.. automethod:: ClingoBackend._ds_cautious +.. autoproperty:: ClingoBackend._ds_opt -.. automethod:: ClingoBackend._ds_model +.. autoproperty:: ClingoBackend._ds_unsat -.. automethod:: ClingoBackend._ds_unsat +.. autoproperty:: ClingoBackend._ds_browsing -.. automethod:: ClingoBackend._ds_browsing \ No newline at end of file +.. autoproperty:: ClingoBackend._ds_constants \ No newline at end of file diff --git a/docs/clinguin/backends/ClingoDLBackend.rst b/docs/clinguin/backends/ClingoDLBackend.rst index eefc641a..8f38db10 100644 --- a/docs/clinguin/backends/ClingoDLBackend.rst +++ b/docs/clinguin/backends/ClingoDLBackend.rst @@ -4,7 +4,7 @@ ClingoDLBackend Extends :ref:`ClingoMultishotBackend` with functionality to accept clingo-dl programs as input. .. admonition:: Examples - + * `jobshop `_ @@ -13,11 +13,11 @@ The :ref:`domain-state` is then enhanced by predicate ``_clinguin_assign/2``. .. admonition:: Examples - + In the jobshop example, the assignment is used for the label of the job. - .. code-block:: + .. code-block:: elem(tctime(T,ST), label, tc(T,ST)):- _clinguin_assign((T,ST),Start). attr(tctime(T,ST), label, @concat("","@",Start,"-",Start+ET)):- _clinguin_assign((T,ST),Start), executionTime(T,ST,ET). @@ -30,14 +30,21 @@ The :ref:`domain-state` is then enhanced by predicate ``_clinguin_assign/2``. .. currentmodule:: clinguin.server.application.backends +Public operations ++++++++++++++++++ + +Can be used as `OPERATION` in the actions of the :ref:`ui-state` +Also includes all public operations from the :ref:`ClingoMultishotBackend`. + .. autoclass:: ClingoDLBackend :members: :noindex: :exclude-members: register_options -**Domain state constructors** +Domain state constructors ++++++++++++++++++++++++++ -The domain state also inclues domain constructors from the parent class. +The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` -.. automethod:: ClingoDLBackend._ds_assign +.. autoproperty:: ClingoDLBackend._ds_assign diff --git a/docs/clinguin/backends/ClingoMultishotBackend.rst b/docs/clinguin/backends/ClingoMultishotBackend.rst index 2079b6cc..d3d95515 100644 --- a/docs/clinguin/backends/ClingoMultishotBackend.rst +++ b/docs/clinguin/backends/ClingoMultishotBackend.rst @@ -5,21 +5,30 @@ ClingoMultishotBackend Extends :ref:`ClingoBackend` with functionality for multi-shot solving. Adds options to access and store assumptions and externals. .. admonition:: Examples - + * `sudoku `_ * `jobshop `_ * `placement `_ + * `placement_optimized `_ .. currentmodule:: clinguin.server.application.backends +Public operations ++++++++++++++++++ + +Can be used as `OPERATION` in the actions of the :ref:`ui-state` +Also includes all public operations from the :ref:`ClingoBackend`. + .. autoclass:: ClingoMultishotBackend :members: :noindex: :exclude-members: register_options -**Domain state constructors** -The domain state also inclues domain constructors from the parent class. +Domain state constructors ++++++++++++++++++++++++++ + +The domain state also inclues domain constructors from the :ref:`ClingoBackend` -.. automethod:: ClingoMultishotBackend._ds_assume \ No newline at end of file +.. autoproperty:: ClingoMultishotBackend._ds_assume \ No newline at end of file diff --git a/docs/clinguin/backends/ClingraphBackend.rst b/docs/clinguin/backends/ClingraphBackend.rst index 6403510c..4b200834 100644 --- a/docs/clinguin/backends/ClingraphBackend.rst +++ b/docs/clinguin/backends/ClingraphBackend.rst @@ -9,7 +9,7 @@ Extends :ref:`ClingoMultishotBackend` with functionality to render and interact To use this backend you might need to manually install Graphviz. See the `clingraph instalaltion `_ for details. .. admonition:: Examples - + * `graph_coloring `_ * `tree_browser `_ @@ -20,25 +20,25 @@ This backend will allow the use of clingraph images inside a canvas element. To use this feature, the user must provide a clingraph visualization encoding via the command line in argument ``--clingraph-files``. The input to this encoding will be the :ref:`domain-state` (same input as for the :ref:`ui-files`). -.. tip:: +.. tip:: - The clingraph encoding will also have information about brave, and cautious consequences. + The clingraph encoding will also have information about brave, and cautious consequences. So dont be afraid to use it in the graphs! -A clinguin ``canvas`` is enhanced with an attribute ``image_type``. +A clinguin ``canvas`` is enhanced with an attribute ``image_type``. When the value for this attirbute starts with ``clingraph`` it will be substituted by the :ref:`ClingraphBackend` for the ``svg`` representation of the graph. By default the graph named ``default`` will be used, another graph with name ``X`` can be used by setting the image type to ``clingraph__X`` -.. note:: +.. note:: To use this backend with the :ref:`TkinterFrontend`, you must provide the option ``--intermediate-format=png``. .. admonition:: Examples - - + + Creates a canvas in a window that will contain the default clingraph graph - .. code-block:: + .. code-block:: elem(c, canvas, window). attr(c, image_type, clingraph). @@ -56,11 +56,11 @@ This type of elements require the identifier of the clingraph node/edge in argum to link the interactivity with the svg element generated by clingraph. .. admonition:: Examples - + Continuation of the previous example. - .. code-block:: + .. code-block:: elem(n(X), svg_node, c). attr(n(X), clingraph_id, X):- node(X). @@ -68,26 +68,39 @@ to link the interactivity with the svg element generated by clingraph. ``node(X)`` is generated in the `ui-files` -.. tip:: +.. tip:: Notice that the clingraph nodes are not accesible by the `ui-files`. Therefore, nodes of the clingraph images have to be generated again in this encoding. - + Consider separating the clingraph node generation into a diferent encoding, and then including it in the UI and clingraph encodings. -.. warning:: +.. warning:: The interactive feature only work in web based frontends, not in Tkinter. .. note:: - ``update`` actions applied to clingraph elements (`svg_nodes`) will update the html style, not the graphviz properties. - Therefore, it can be used to set things like visibility and opacity but not internal clingraph values. + ``update`` actions applied to clingraph elements (`svg_nodes`) will update the html style, not the graphviz properties. + Therefore, it can be used to set things like visibility and opacity but not internal clingraph values. +Public operations ++++++++++++++++++ + +Can be used as `OPERATION` in the actions of the :ref:`ui-state` +Also includes all public operations from the :ref:`ClingoBackend`. + .. autoclass:: ClingraphBackend :members: :noindex: :exclude-members: register_options + +Domain state constructors ++++++++++++++++++++++++++ + +The domain state also inclues domain constructors from the :ref:`ClingoBackend` + + diff --git a/docs/clinguin/backends/Custom.rst b/docs/clinguin/backends/Custom.rst deleted file mode 100644 index 19b7f0bf..00000000 --- a/docs/clinguin/backends/Custom.rst +++ /dev/null @@ -1,167 +0,0 @@ -Creating your own backend -------------------------- - -By creating your own backend you can extend functionality and edit the existing server workflow. -If you are using clingo, we highly recomend extending the :ref:`ClingoMultishotBackend` to create your own. -This backend contains multiple functionalities already built in wich can be overwritten and extended. -The following explanation assumes that this is the backend that is being extended. - -.. note:: - - If you will not use multi-shot functionalities, assumptions and exterals - you can also extend the :ref:`ClingoBackend`. - -.. note:: **Using your backend** - - To make your custom backend avaliable to clinguin, you must provide the path via the command line argument ``--custom-classes``. - -In what follows we divide the possible extensions. For more implementation details, look at the -`source code `_ -All the presented methods can be overwritten to your desire. - - -Constructor -++++++++++++ - -In the constructor one can add custom arguments and new domain-state constructors. - -.. admonition:: Examples - - - * `explanation_backend `_ - * `clingraph_backend `_ - * `clingodl_backend `_ - -.. currentmodule:: clinguin.server.application.backends - -.. automethod:: ClingoMultishotBackend.__init__ - - -Register options -++++++++++++++++ - -By overwritting this class method, one can add new arguments to the command line. -These options will be added under a group for the created backend. - -.. admonition:: Examples - - - * `explanation_backend `_ - * `clingraph_backend `_ - -.. automethod:: ClingoMultishotBackend.register_options - -Setups -++++++ - -These methods will handle the arguments depending on the clinguin state. -Some are called at the start after a restart or when a change is done in the solving. -When a custom argument is added to the backend if will likely need to be handled here. - -.. admonition:: Examples - - - * `explanation_backend `_ - * `clingodl_backend `_ - - -.. automethod:: ClingoMultishotBackend._restart - -.. automethod:: ClingoMultishotBackend._init_ds_constructors - -.. automethod:: ClingoMultishotBackend._init_command_line - -.. automethod:: ClingoMultishotBackend._init_interactive - -.. automethod:: ClingoMultishotBackend._init_ctl - -.. automethod:: ClingoMultishotBackend._create_ctl - -.. automethod:: ClingoMultishotBackend._load_and_add - -.. automethod:: ClingoMultishotBackend._load_file - -.. automethod:: ClingoMultishotBackend._outdate - -.. automethod:: ClingoMultishotBackend._is_browsing - - -Solving -+++++++ - -These methods are involved on how the domain control is solved. -They can be ovweritten for theory extensions among other things. - -.. admonition:: Examples - - - * `explanation_backend `_ - * `clingodl_backend `_ - -.. automethod:: ClingoMultishotBackend._ground - -.. automethod:: ClingoMultishotBackend._prepare - -.. automethod:: ClingoMultishotBackend._on_model - -.. automethod:: ClingoMultishotBackend._add_atom - - -UI updates -++++++++++ - -If any changes want to be made in how the UI state is computed they -can be made by overwritting this method. - -.. admonition:: Examples - - - * `clingraph_backend `_ - - -.. automethod:: ClingoMultishotBackend._update_ui_state - - -Domain state -++++++++++++ - -These methods take care of generating the :ref:`domain-state`. -When new information wants to be added a domain state constructor can be included. -These domain constructors will be automatically called by the `_domain_state` property. -But, they need to be previously registered in the constructor using the functions below. - -.. admonition:: Examples - - - * `explanation_backend `_ - * `clingodl_backend `_ - * `clingraph_backend `_ - -.. note:: - - Some of the domain constructors involve extra work so they are handled as ``@cache_property``. - -.. warning:: - - Make sure any domain constructor added is a property with anotation ``@property`` - -.. automethod:: ClingoMultishotBackend._add_domain_state_constructor - -.. automethod:: ClingoMultishotBackend._clear_cache - -.. note:: - - Domain state constructors for this backend are showed in the section above. - These constructors can also be overwritten if necessary. - - -Public operations -+++++++++++++++++ - -Each backend can define any number public operations or overwrite the existing ones. -These operations are any public method of the class and will be accessible to the UI. - -.. admonition:: Examples - - - * `explanation_backend `_ diff --git a/docs/clinguin/backends/ExplanationBackend.rst b/docs/clinguin/backends/ExplanationBackend.rst index dc862c6b..c06c0687 100644 --- a/docs/clinguin/backends/ExplanationBackend.rst +++ b/docs/clinguin/backends/ExplanationBackend.rst @@ -53,7 +53,11 @@ so that all facts for atoms matching the signatures provided in this arguments a of the sudoku are transfored into choices and enforced by considering them as assumptions. This way, they are also considered in unsatisfiable set and shown to the user. +Public operations ++++++++++++++++++ +Can be used as `OPERATION` in the actions of the :ref:`ui-state`. +Also includes all public operations from the :ref:`ClingoMultishotBackend`. .. autoclass:: ExplanationBackend :members: @@ -61,8 +65,10 @@ so that all facts for atoms matching the signatures provided in this arguments a :exclude-members: register_options -**Domain state constructors** +Domain state constructors ++++++++++++++++++++++++++ -The domain state also inclues domain constructors from the parent class. +The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` + +.. autoproperty:: ExplanationBackend._ds_mus -.. automethod:: ExplanationBackend._ds_mus \ No newline at end of file diff --git a/docs/clinguin/backends/index.rst b/docs/clinguin/backends/index.rst index 5bee4c4c..d06aeb1e 100644 --- a/docs/clinguin/backends/index.rst +++ b/docs/clinguin/backends/index.rst @@ -2,7 +2,7 @@ Backends ######## -The backends listed here are provided with clinguin. +The backends listed here are provided with clinguin. All available functions that can be referenced in the :ref:`ui-state` for each backend are listed below. Notice that all backends will also include the functionalities of the ones they extend. @@ -22,11 +22,3 @@ Built-in Backends ClingraphBackend.rst ExplanationBackend.rst ClingoDLBackend.rst - -Customization -+++++++++++++ - -.. toctree:: - :maxdepth: 1 - - Custom.rst \ No newline at end of file diff --git a/docs/clinguin/development.rst b/docs/clinguin/development/angular.rst similarity index 85% rename from docs/clinguin/development.rst rename to docs/clinguin/development/angular.rst index 6536e97e..e04c1dd4 100644 --- a/docs/clinguin/development.rst +++ b/docs/clinguin/development/angular.rst @@ -1,38 +1,9 @@ -Contributing -============ - -To improve code quality, we use nox to run linters, type checkers, unit -tests, documentation and more. We recommend installing nox using pipx to have -it available globally. - -.. code-block:: console - - # install - python -m pip install pipx - python -m pipx install nox - - # run all sessions - nox - - # list all sessions - nox -l - - # run individual session - nox -s session_name - - # run individual session (reuse install) - nox -Rs session_name - -Note that the nox sessions create [editable] installs. In case there are issues, -try recreating environments by dropping the `-R` option. If your project is -incompatible with editable installs, adjust the `noxfile.py` to disable them. - - Angular Frontend Development -++++++++++++++++++++++++++++ +============================ This section is for development and contribution in the AngularFrontend. -For instance to create new element types. +For instance to create new element types. Unlike the custom backends, this changes must be done inside the source code of *clinguin*. +Make sure you have installed from source. .. warning:: @@ -42,17 +13,17 @@ For instance to create new element types. Requirements ------------ -- `NPM `_ -- `NODE `_ -- `Angular `_ + - `NPM `_ + - `NODE `_ + - `Angular `_ -Usage ------ +How to run changes +------------------ This process shows changes made on the `angular_fronted` folder in real time. 1. Start the server - - Replace ``clinguin client-server`` by ``python start.py server`` and remove argument ``--frontend=AngularFrontend`` from the command line of the desired example + - Replace ``clinguin client-server`` by ``python start.py server`` on the desired example 2. Start the web client - Open a new tab - Navigate to the folder `/angular_frontend`. @@ -73,6 +44,8 @@ Be sure that you have `make` and all the dev-tools for the web-frontend installe This builds the frontend, and then installs `clinguin`. + + Internal Workflow ----------------- diff --git a/docs/clinguin/development/api.rst b/docs/clinguin/development/api.rst new file mode 100644 index 00000000..e83d350d --- /dev/null +++ b/docs/clinguin/development/api.rst @@ -0,0 +1,22 @@ +API ++++ + +Detailed API for all the classes and functions in the server of the clinguin package. + +Backends +-------- + +.. automodule:: clinguin.server.application.backends + :members: + :undoc-members: + :show-inheritance: + :private-members: + +UI State +-------- + +.. autoclass:: clinguin.server.data.ui_state.UIState + :members: + :undoc-members: + :show-inheritance: + :private-members: diff --git a/docs/clinguin/development/contributing.rst b/docs/clinguin/development/contributing.rst new file mode 100644 index 00000000..6e3d2935 --- /dev/null +++ b/docs/clinguin/development/contributing.rst @@ -0,0 +1,46 @@ +Contributing +============ + +To improve code quality, we use nox to run linters, type checkers, unit +tests, documentation and more. We recommend installing nox using pipx to have +it available globally. + +.. code-block:: console + + # install + python -m pip install pipx + python -m pipx install nox + + # run all sessions + nox + + # list all sessions + nox -l + + # run individual session + nox -s session_name + + # run individual session (reuse install) + nox -Rs session_name + +Note that the nox sessions create [editable] installs. In case there are issues, +try recreating environments by dropping the `-R` option. If your project is +incompatible with editable installs, adjust the `noxfile.py` to disable them. + + +Installing from source ++++++++++++++++++++++++ + +The project is hosted on `github `_ and can +also be installed from source. We recommend this only for development purposes. + +.. note:: + The pip package `setuptools` must be previously installed + +Execute the following command in the top level clinguin directory: + +.. code-block:: console + + $ git clone https://github.com/potassco/clinguin + $ cd clinguin + $ pip install .[all] diff --git a/docs/clinguin/development/customBackend.rst b/docs/clinguin/development/customBackend.rst new file mode 100644 index 00000000..6e77bd0b --- /dev/null +++ b/docs/clinguin/development/customBackend.rst @@ -0,0 +1,278 @@ +.. _CustomBackend: + +|:raised_hands:| Creating your own backend +------------------------------------------ + +By creating your own backend you can extend functionality and edit the existing server workflow. +If you are using *clingo*, we highly recomend extending the :ref:`ClingoMultishotBackend` to create your own. +This backend contains multiple functionalities already built in wich can be overwritten and extended. +The following explanation assumes that this is the backend that is being extended. + +.. note:: + + If you will not use multi-shot functionalities, assumptions and exterals + you can also extend the :ref:`ClingoBackend`. + +Code structure +============== + +Your code strucure with your custom backend must be the following: + +.. code-block:: + + my_project/ + ├── my_backend.py + └── ui.lp + └── encoding.lp + └── instance.lp + +- ``my_backend.py``: Contains the backend class that extends the :ref:`ClingoMultishotBackend`. + +.. code-block:: python + + from clinguin.server.application.backends import ClingoMultishotBackend + + class MyBackend(ClingoMultishotBackend): + ... + +- ``ui.lp``: Contains the UI encoding. +- ``encoding.lp``: Contains the domain encoding. +- ``instance.lp``: Contains the instance. + +Using this structure the command line, standing insde folder `my_project` would be the following: + +.. code-block:: console + + $ clinguin client-server --domain-files instance.lp encoding.lp --ui-files ui.lp --custom-classes my_backend.py --backend MyBackend + +.. tip:: + + You can make sure your backend class is avaliable by checking the help using ``-h`` with your custom classes: + + .. code-block:: console + + $ clinguin client-server --domain-files instance.lp encoding.lp --ui-files ui.lp --custom-classes my_backend.py -h + + +.. note:: **Using your backend** + + To make your custom backend avaliable to clinguin, you must provide the path via the command line argument ``--custom-classes``. + + +Customizations +============== + +In what follows we divide the possible extensions for explanability. For more implementation details, look at the source code + +.. currentmodule:: clinguin.server.application.backends + +.. autoclass:: ClingoBackend + :exclude-members: __init__, __new__ + +.. autoclass:: ClingoMultishotBackend + :exclude-members: __init__, __new__ + :show-inheritance: + +Register options +++++++++++++++++ + +By overwritting this class method, one can add new arguments to the command line. +These options will be added under a group for the created backend. The value can be set in :meth:`~ClingoBackend._init_command_line`. + +.. admonition:: Examples + + + * `explanation_backend `_ + * `clingraph_backend `_ + + +.. automethod:: ClingoBackend.register_options + +Public operations ++++++++++++++++++ + +Each backend can define any number public operations or overwrite the existing ones. +These operations are any public method of the class and will be accessible to the UI. + +.. admonition:: Examples + + + * `explanation_backend `_ + + + +.. admonition:: Example + + + This example shows how to add a a new public operation in a backend + + .. code-block:: + + class MyBackend(ClingoMultishotBackend): + ... + + def my_operation(self, arg1, arg2)->None: + # Do something using the given arguments + # Does not return anything + + Use it in your :ref:`ui-files` like this: + + .. code-block:: + + when(button1, click, call, my_operation("arg1", "arg2")). + +.. warning:: + + - If the operation made impacts the current broswsing state make sure to call the :meth:`~ClingoBackend._outdate` method. + - If the operation make the current control outdated (for instnce adds an atom or a program), make sure to call the :meth:`~ClingoBackend._init_ctl` method. + + +Initialization +++++++++++++++ + +These methods will handle the arguments depending on the current state of the interaction. +Some are called at the start after a restart or when a change is done in the solving. + + +.. admonition:: Examples + + * `clingodl_backend `_ + * `explanation_backend `_ + * `clingraph_backend `_ + + +.. automethod:: ClingoBackend._restart + +.. automethod:: ClingoBackend._init_ds_constructors + +.. automethod:: ClingoBackend._init_command_line + +.. automethod:: ClingoBackend._init_interactive + +.. automethod:: ClingoBackend._init_ctl + +.. automethod:: ClingoBackend._create_ctl + +.. automethod:: ClingoBackend._load_and_add + +.. automethod:: ClingoBackend._load_file + +.. automethod:: ClingoBackend._outdate + + +Solving ++++++++ + +These methods are involved on how the domain control is solved. +They can be ovweritten for things such as theory extensions. + +.. admonition:: Examples + + + * `explanation_backend `_ + * `clingodl_backend `_ + +.. automethod:: ClingoBackend._ground + +.. automethod:: ClingoBackend._prepare + +.. automethod:: ClingoBackend._on_model + + + +Setters ++++++++ + +These methods will set different attributes of the backend. + +.. automethod:: ClingoBackend._add_domain_state_constructor + +.. automethod:: ClingoBackend._set_context + +.. automethod:: ClingoBackend._set_constant + +.. automethod:: ClingoBackend._add_atom + +.. automethod:: ClingoMultishotBackend._set_external + +.. automethod:: ClingoMultishotBackend._add_assumption + + + +Domain state +++++++++++++ + +The domain state constructors take care of generating the :ref:`domain-state`. +When new information wants to be added a domain state constructor can be included. +These domain constructors will be automatically called by the `_domain_state` property. +But, they need to be previously registered in the constructor using the functions below. + +.. admonition:: Examples + + + * `explanation_backend `_ + * `clingodl_backend `_ + * `clingraph_backend `_ + +.. admonition:: Example + + + This example shows how to add a custom domain constructor + + .. code-block:: + + @property + def _ds_my_custom_constructor(self): + # Creates custom program + return "my_custom_program." + + def _init_ds_constructors(self): + super()._init_ds_constructors() + self._add_domain_state_constructor("_ds_my_custom_constructor") + + +.. warning:: + + Make sure any domain constructor added is a property with anotation ``@property`` or ``@cache_property`` if the computation is costly. + +.. warning:: + + Some domain constructors will be skiped if they are not used in the ui-files. + This can be done in a custom method domain_constructor using the following code: + + .. code-block:: + + @cache_property + def _ds_my_custom_complex_constructor(self): + # Creates custom program + if not self._ui_uses_predicate("_my_ds_predicate", 1): + return "% NOT USED\n" + return "my_custom_program." + + + + +.. note:: + + Domain state constructors for this backend are showed in the :ref:`ClingoMultishotBackend` and :ref:`ClingoBackend` sections. + These constructors can also be overwritten if necessary. + + +UI updates +++++++++++ + +If any changes want to be made in how the UI state is computed they +can be made by overwritting this method. + +.. admonition:: Examples + + + * `clingraph_backend `_ + + +.. automethod:: ClingoMultishotBackend._update_ui_state + +.. currentmodule:: clinguin.server.data.ui_state + +.. autoclass:: UIState + :exclude-members: __init__, __new__ diff --git a/docs/clinguin/development/index.rst b/docs/clinguin/development/index.rst new file mode 100644 index 00000000..bd07ef29 --- /dev/null +++ b/docs/clinguin/development/index.rst @@ -0,0 +1,47 @@ + +Development +########### + +This section gives detailed information for people that wish to create a customization of *clingun*. + +.. tip:: + + You can also check the :ref:`API` section for a detailed explanation of the classes and functions in the *clinguin* package, + but we suggest you stick to the guides provided here. + + .. toctree:: + :maxdepth: 1 + + api.rst + + +Customizing the Backend +----------------------- + +Customizations of the backend can be done without any additional installations. + +.. toctree:: + :maxdepth: 1 + + customBackend.rst + +Angular development +------------------- + +For angular development you must have the source code. + +.. toctree:: + :maxdepth: 1 + + install.rst + angular.rst + +Contributing +------------ + +If you want to contribute to the *clinguin* project with your changes, check out the following section. + +.. toctree:: + :maxdepth: 1 + + contributing.rst \ No newline at end of file diff --git a/docs/clinguin/development/install.rst b/docs/clinguin/development/install.rst new file mode 100644 index 00000000..7e474d15 --- /dev/null +++ b/docs/clinguin/development/install.rst @@ -0,0 +1,16 @@ +Installing from source ++++++++++++++++++++++++ + +The project is hosted on `github `_ and can +also be installed from source. We recommend this only for development purposes. + +.. note:: + The pip package `setuptools` must be previously installed + +Execute the following command in the top level clinguin directory: + +.. code-block:: console + + $ git clone https://github.com/potassco/clinguin + $ cd clinguin + $ pip install .[all] diff --git a/docs/clinguin/frontends/AngularFrontend.rst b/docs/clinguin/frontends/AngularFrontend.rst index 7f0551fe..5718b384 100644 --- a/docs/clinguin/frontends/AngularFrontend.rst +++ b/docs/clinguin/frontends/AngularFrontend.rst @@ -7,7 +7,7 @@ Thus, providing beautiful components out of the box by giving access to Bootstra For contributing with new components take a look at the :ref:`Development` section. .. admonition:: Examples - + * `Angular Examples `_ @@ -20,12 +20,12 @@ Atributes +++++++++ .. note:: - + Any attribute that is passed that does not fall under this list or the specific attributes of the element, will be set as a plain html style in the component -Class +Class ..... The class atribute ``class`` will add a `bootstrap class `_ @@ -35,12 +35,12 @@ This attribute can apear multiple times. .. tip:: **Simplify, use classes!** - + It is encouranged to use classes for styling with the predefined colors. Must of the attributes found below can be replaced by a bootstrap class. - Not only that but you can set multiple classes in the same ASP rule using - + Not only that but you can set multiple classes in the same ASP rule using + ``attr(ID,class,(C1;C2;...))`` @@ -48,6 +48,21 @@ This attribute can apear multiple times. Positioning ............ +.. _Order: + +**Order** + +``order`` + *Description*: With this numeric attribute sets the order of appearace for the element inside the parent + + *Values*: Integer + + .. warning:: + + Make sure the order is set to all the children of the same parent, otherwise the order will not be respected. + + + .. _Child layout: **Child layout** @@ -60,7 +75,7 @@ Positioning - ``grid`` (grid-like-specification) - ``absstatic`` (if one wants to specify the position with absolute-pixelcoordinates) - ``relstatic`` (if one wants to specify the position with relative-pixel coordinates(from 0 to 100 percent, where 0 means left/top and 100 means right/bottom)). - + They can either bespecified via a clingo symbol or via a string (string is case-insensitive). @@ -70,24 +85,24 @@ Positioning ``grid_column`` *Description*: With this attribute one can define in which column the element shall be positioned. - + *Values*: Integer ``grid_row`` *Description*: With this attribute one can define in which row the element shall be positioned. - + *Values*: Integer ``grid_column_span`` *Description*: With this attribute one can define, that the elements stretches over several columns. - + *Values*: Integer ``grid_row_span`` *Description*: With this attribute one can define, that the elements stretches over several rows. - + *Values*: Integer - + .. _Relative and Absolute: @@ -202,7 +217,7 @@ Style *Values*: Color -.. _Visibility: +.. _Visibility: **Visibility** @@ -289,8 +304,8 @@ All buttons inside this element will apear as options. **Attributes** - - :ref:`Visibility ` + +:ref:`Visibility ` ``modal`` ......... @@ -301,7 +316,7 @@ Implemented using `boostrap modals `, :ref:`Visibility ` @@ -317,9 +332,10 @@ A container for defining layout. Implemented using `boostrap modals `_. **Attributes** - + :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Child layout `, :ref:`Grid `, :ref:`Relative and Absolute `, @@ -341,9 +357,10 @@ A button. Implemented using `boostrap buttons `_. **Attributes** - + :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction `, @@ -368,9 +385,10 @@ Implemented using `boostrap buttons `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction `, @@ -390,11 +408,12 @@ A label. A text field. The value of the text field can be stored on the context using the event ``input``. See the :ref:`Context` section for more details. - + **Attributes** - + :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction `, @@ -413,11 +432,12 @@ See the :ref:`Context` section for more details. ................. A dropdown menu for single select. - + **Attributes** - + :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction `, @@ -439,6 +459,7 @@ An item inside a dropdown menu. Must be contained in a dropdown menu. :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction `, @@ -459,9 +480,10 @@ A canvas to render images. Canvas can be used to render clingraph images, see :ref:`ClingraphBackend` for details. **Attributes** - + :ref:`Class `, :ref:`Visibility `, +:ref:`Order `, :ref:`Grid `, :ref:`Relative and Absolute `, :ref:`Direction ` diff --git a/docs/clinguin/frontends/TkinterFrontend.rst b/docs/clinguin/frontends/TkinterFrontend.rst index 9438c948..fa3ec68c 100644 --- a/docs/clinguin/frontends/TkinterFrontend.rst +++ b/docs/clinguin/frontends/TkinterFrontend.rst @@ -4,7 +4,7 @@ TkinterFrontend This frontend uses the standard Python interface `tkinter `_ to generate a UI. .. admonition:: Examples - + * `Tkinter Examples `_ @@ -18,4 +18,8 @@ If one is also interested in what values one might set, one can also look at the .. code-block:: console - $ clinguin client-server --frontend-syntax-full \ No newline at end of file + $ clinguin client-server --frontend-syntax-full + +.. tip:: + + We suggest using the :ref:`AngularFrontend` instead. It is more powerful and has a modern look. \ No newline at end of file diff --git a/docs/clinguin/installation.rst b/docs/clinguin/installation.rst index b7cbfe5b..059badf8 100644 --- a/docs/clinguin/installation.rst +++ b/docs/clinguin/installation.rst @@ -9,7 +9,7 @@ You can check a successfull instalaltion by running $ clinguin -h -Installing with pip +Installing with pip =================== The python clinguin package can be found `here `_. @@ -18,7 +18,7 @@ The python clinguin package can be found `here `_ and can -also be installed from source. We recommend this only for development purposes. - -.. note:: - The pip package `setuptools` must be previously installed - -Execute the following command in the top level clinguin directory: - -.. code-block:: console - - $ git clone https://github.com/potassco/clinguin - $ cd clinguin - $ pip install .[all] - - -Angular Frontend Development -++++++++++++++++++++++++++++ - -This section is for development and contribution in the AngularFrontend. -For instance to create new element types. - - -.. warning:: - - The following is only required for making changes to the web-frontend. - -Requirements ------------- - - - `NPM `_ - - `NODE `_ - - `Angular `_ - -Development ------------ - -This process shows changes made on the `angular_fronted` folder in real time. - -1. Start the server - - Replace ``clinguin client-server`` by ``python start.py server`` on the desired example -2. Start the web client - - Open a new tab - - Navigate to the folder `/angular_frontend`. - - Type ``ng serve`` - - Go to the URL `127.0.0.1:4200` in your web-browser. - - -Compile source code -------------------- - -This allows to use the AngularFrontend by passing the ``--frontend`` argument to the client. - -Be sure that you have `make` and all the dev-tools for the web-frontend installed (`Angular`), as detailed below! Then type: - -.. code-block:: console - - $ make angular - -This builds the frontend, and then installs `clinguin`. \ No newline at end of file diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst index 9d036099..5777b723 100644 --- a/docs/clinguin/reference/state.rst +++ b/docs/clinguin/reference/state.rst @@ -55,7 +55,7 @@ Actions define the interactivity of the UI. Multiple actions are allowed, as ex - ``context`` Updates the internal context that will be passed to the server on the following call actions. See :ref:`Context` for more details. - ``OPERATION`` The operation accounts for the information that the action requires for its execution. - - ``ACTION`` = ``call`` The operation corresponds to a function available in the :ref:`Backends`. The function call is represented as a predicate, for instance ``add_assumption(a)`` or ``next_solution``. + - ``ACTION`` = ``call`` The operation corresponds to a public operation from the :ref:`Backends`. The function call is represented as a predicate, for instance ``add_assumption(a)`` or ``next_solution``. - ``ACTION`` = ``update`` The operation will be a tuple of size three ``(ID', KEY, VALUE)`` where ``ID'`` is the identifier of the element whose value for attribute ``KEY`` will be updated to ``VALUE``. Notice that ``ID'`` might be different than ``ID``. - ``ACTION`` = ``context`` The operation will be a tuple ``(KEY, VALUE)``, which will update the key ``KEY`` in the context dictionary to ``VALUE``. See the :ref:`Context` section for detail information on how to use the context. diff --git a/docs/clinguin/reference/structure.rst b/docs/clinguin/reference/structure.rst index 44657c2d..a388300b 100644 --- a/docs/clinguin/reference/structure.rst +++ b/docs/clinguin/reference/structure.rst @@ -19,7 +19,7 @@ To allow flexibility, further separation is done to have interchangeable functio The part of the server that defines the control and functionality, allowing users to interact with the clingo control in different ways. It offers the option to define and overwrite operations, as well as customize how the UI is updated and the contextual information in the :ref:`domain-state`. -Users can create their own Backend to increase functionality (:ref:`Creating your own backend`). +Users can create their own Backend to increase functionality (:ref:`CustomBackend`). We provide the following :ref:`Backends` with the system: @@ -45,9 +45,9 @@ To allow flexibility, further separation is done to have interchangeable UIs and **Frontend** -The part of the client that generates the layout based on the :ref:`JSON UI` and displays the UI. Users can create their own Frontend to have a different view (:ref:`Creating your own frontend`). +The part of the client that generates the layout based on the :ref:`JSON UI` and displays the UI. We provide the following :ref:`Frontends` with the system: -* *AngularFrontend*: UI using Angular to generate a web interface +* *AngularFrontend*: UI using Angular to generate a web interface * *TkinterFrontend*: UI using Tkinter an OS-dependent interface diff --git a/docs/conf.py b/docs/conf.py index e881d427..717f8dc4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -28,6 +28,8 @@ "clingexplaid", ] +autodoc_typehints = "none" +autodoc_class_signature = "separated" # -- Project information ----------------------------------------------------- @@ -49,21 +51,29 @@ "sphinx.ext.extlinks", "sphinx.ext.mathjax", "sphinx.ext.todo", - "sphinx.ext.viewcode", "sphinx.ext.autodoc", "sphinx.ext.napoleon", "sphinx.ext.autosectionlabel", "sphinx.ext.intersphinx", "furo.sphinxext", "sphinx_copybutton", + "sphinx.ext.viewcode", + "sphinxemoji.sphinxemoji", # "sphinx_design", # "sphinx_inline_tabs" ] +# autodoc_default_options = { +# "members": True, +# "private-members": True, +# } + napoleon_include_init_with_doc = False -napoleon_use_admonition_for_examples = False +napoleon_use_admonition_for_examples = True +napoleon_use_admonition_for_notes = True napoleon_use_admonition_for_references = True +napoleon_use_ivar = True # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] diff --git a/docs/index.rst b/docs/index.rst index 46a1eeab..b247b5c7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,7 +17,7 @@ Consider an ASP encoding that solves the sudoku puzzle where cells are defined b Clinguin will use this encoding and the following ui encoding to construct the UI shown bellow. .. code-block:: - + elem(window, window, root). attr(window, child_layout, grid). @@ -56,7 +56,7 @@ For a more detailed explanation on how this code works take a look at the :ref:` clinguin/reference/index.rst clinguin/frontends/index.rst clinguin/backends/index.rst - clinguin/development + clinguin/development/index.rst diff --git a/setup.cfg b/setup.cfg index 2cf70784..ff6eb03d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -37,6 +37,7 @@ doc = furo sphinx_inline_tabs sphinx_copybutton + sphinxemoji test = nox From 6c5caabd7c951d49633214db230fdb79b5d92a17 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 2 Aug 2024 16:54:56 -0600 Subject: [PATCH 55/61] Improved documentation --- README.md | 4 +- clinguin/server/data/attribute.py | 6 +- clinguin/server/data/callback.py | 11 +- clinguin/server/data/element.py | 7 +- clinguin/server/data/ui_state.py | 2 + clinguin/utils/annotations.py | 4 +- clinguin_download.lp | 18 + docs/_static/css/custom.css | 22 +- docs/clinguin/backends/index.rst | 7 +- docs/clinguin/development/api.rst | 6 - docs/clinguin/development/customBackend.rst | 4 +- docs/clinguin/development/index.rst | 6 +- docs/clinguin/examples_readme.md | 1 + docs/clinguin/frontends/AngularFrontend.rst | 441 +++++++++--------- docs/clinguin/frontends/TkinterFrontend.rst | 7 +- docs/clinguin/frontends/index.rst | 21 +- docs/clinguin/help.rst | 65 +++ docs/clinguin/installation.rst | 13 +- docs/clinguin/reference/index.rst | 7 +- docs/clinguin/use.rst | 14 +- docs/conf.py | 7 +- docs/index.rst | 22 +- examples/README.md | 83 ++-- examples/angular/catdog/README.md | 18 + .../catdog/encoding-explain-example.lp | 4 + examples/angular/catdog/encoding-explain.lp | 12 + examples/angular/catdog/instance.lp | 2 + examples/angular/catdog/out1.png | Bin 0 -> 88884 bytes examples/angular/catdog/out2.png | Bin 0 -> 104326 bytes examples/angular/catdog/out3.png | Bin 0 -> 115568 bytes examples/angular/catdog/ui-explain-msg.lp | 4 + examples/angular/catdog/ui-explain.lp | 9 + examples/angular/catdog/ui-menu.lp | 14 + examples/angular/catdog/ui-people.lp | 39 ++ examples/angular/catdog/ui-tables.lp | 26 ++ .../angular/placement_optimized/README.md | 2 +- examples/angular/placement_optimized/out1.png | Bin 124541 -> 164309 bytes examples/angular/placement_optimized/out2.png | Bin 128776 -> 168408 bytes examples/angular/placement_optimized/out3.png | Bin 147493 -> 157358 bytes 39 files changed, 561 insertions(+), 347 deletions(-) create mode 100644 clinguin_download.lp create mode 120000 docs/clinguin/examples_readme.md create mode 100644 docs/clinguin/help.rst create mode 100644 examples/angular/catdog/README.md create mode 100644 examples/angular/catdog/encoding-explain-example.lp create mode 100644 examples/angular/catdog/encoding-explain.lp create mode 100644 examples/angular/catdog/instance.lp create mode 100644 examples/angular/catdog/out1.png create mode 100644 examples/angular/catdog/out2.png create mode 100644 examples/angular/catdog/out3.png create mode 100644 examples/angular/catdog/ui-explain-msg.lp create mode 100644 examples/angular/catdog/ui-explain.lp create mode 100644 examples/angular/catdog/ui-menu.lp create mode 100644 examples/angular/catdog/ui-people.lp create mode 100644 examples/angular/catdog/ui-tables.lp diff --git a/README.md b/README.md index a4351c22..cbf54840 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Clinguin Clinguin enables ASP developers to **create interactive User Interface** (UI) prototypes **using only ASP**. -UIs are defined as sets of facts, which are then rendered by a fronted to provide continuous interaction with ASP solvers based on user-triggered events. +UIs are defined as sets of facts, which are then rendered to provide continuous interaction with the ASP solver *clingo* based on user-triggered events. ***Your UI definition would look like this!*** @@ -35,7 +35,7 @@ Clinguin includes a wide range of [clingo](https://potassco.org/clingo/) functio ***Is clinguin missing something for your application?*** -No worries! Clinguin can be extended with different functionalities and even frontend languages, take a look [at this guide](https://clinguin.readthedocs.io/en/latest/clinguin/backends.html#creating-your-own-backend). +No worries! Clinguin can be extended with different functionalities and even frontend languages, take a look [at this guide](https://clinguin.readthedocs.io/en/latest/clinguin/development/customBackend.html). ## Installation diff --git a/clinguin/server/data/attribute.py b/clinguin/server/data/attribute.py index 4f5934bf..c39adb13 100644 --- a/clinguin/server/data/attribute.py +++ b/clinguin/server/data/attribute.py @@ -7,7 +7,11 @@ class AttributeDao(Predicate): """ - Class for CLORM (clingo-object-relational-mapping), i.e. for accessing attributes in a factbase. + Attributes define the style of the UI. + + - id: Identifier of the element that the attribute will be set to. + - key: The name of the attribute. Available attributes depend on the element type and the frontend. + - value: The value of the attribute. """ id = RawField diff --git a/clinguin/server/data/callback.py b/clinguin/server/data/callback.py index 3b87230c..5a23fc0a 100644 --- a/clinguin/server/data/callback.py +++ b/clinguin/server/data/callback.py @@ -7,7 +7,16 @@ class WhenDao(Predicate): """ - Class for CLORM (clingo-object-relational-mapping), i.e. for accessing 'when' in a factbase. + Actions define the interactivity of the UI. Multiple actions are allowed, as explained below. + + - id: Identifier of the element that the user interacted with. + - event: The event that is being triggered, such as click, hover, input, etc. Each element type allows different events. + - action: The action performed. + - call: Calls the server to perform an operation. + - update: Updates the attribute of another element without any calls to the server. + - context: Updates the internal context that will be passed to the server on the following call actions. See Context for more details. + - operation: The operation accounts for the information that the action requires for its execution. + """ id = RawField diff --git a/clinguin/server/data/element.py b/clinguin/server/data/element.py index 89c1d28a..d96c5f28 100644 --- a/clinguin/server/data/element.py +++ b/clinguin/server/data/element.py @@ -7,7 +7,12 @@ class ElementDao(Predicate): """ - Class for CLORM (clingo-object-relational-mapping), i.e. for accessing elements in a factbase. + Elements define building blocks of the UI. + + - id: Identifies the element for further references. + - type: The type of element (window, container, button etc). + - parent: The id of the parent element. The identifier root is used as the root element of the UI. + """ id = RawField diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index ef7b5c6f..202b168b 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -118,6 +118,8 @@ def update_ui_state(self): log.critical("UI encoding was UNSATISFIABLE") raise RuntimeError("UI encoding was UNSATISFIABLE") self._factbase = clorm.unify(self.__class__.unifiers, model_symbols) + # log.debug(uictl_log(". ".join([str(s) for s in model_symbols]))) + log.debug(uictl_log(self._factbase.asp_str(width=100000, commented=True))) def add_message(self, title, message, attribute_type="info"): """ diff --git a/clinguin/utils/annotations.py b/clinguin/utils/annotations.py index 8e56ba8b..ba4053b8 100644 --- a/clinguin/utils/annotations.py +++ b/clinguin/utils/annotations.py @@ -13,7 +13,7 @@ def wrapper(self, *args, **kwargs): wrapper.__doc__ = ( (func.__doc__ or "") + f""" - Warning: + Important: Extends :meth:`{super_cls.__name__}.{func.__name__}` """ ) @@ -31,7 +31,7 @@ def wrapper(self, *args, **kwargs): wrapper.__doc__ = ( (func.__doc__ or "") + f""" - Warning: + Important: Overwrites :meth:`{super_cls.__name__}.{func.__name__}` """ ) diff --git a/clinguin_download.lp b/clinguin_download.lp new file mode 100644 index 00000000..2e9e4a9a --- /dev/null +++ b/clinguin_download.lp @@ -0,0 +1,18 @@ +person("Max"). +person("Phil"). +person("Anna"). +include("Max"). +include("Phil"). +include("Anna"). +seat(1,1). +seat(2,1). +seat(1,2). +seat(1,3). +seat(2,3). +seat(3,3). +assign(seat(1,3),"Max"). +assign(seat(2,1),"Phil"). +assign(seat(1,2),"Anna"). +table(1,"Table 1"). +table(2,"Table 2"). +table(3,"Table 3"). \ No newline at end of file diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css index 85b2076b..1c5b62fc 100644 --- a/docs/_static/css/custom.css +++ b/docs/_static/css/custom.css @@ -1,27 +1,29 @@ div.admonition.example { -border-color: hsl(257, 20%, 50%); -background-color: hsl(257, 20%, 80%); + border-color: hsl(257, 20%, 50%); + background-color: hsl(257, 20%, 80%); } -div.admonition.example > .admonition-title { -color: white; -background-color: hsl(257, 20%, 50%); +div.admonition.example>.admonition-title { + color: white; + background-color: hsl(257, 20%, 50%); } -div.admonition.example > .admonition-title::before { - content: "\f2a7"; - } +div.admonition.example>.admonition-title::before { + content: "\f2a7"; +} .sidebar-logo { margin: inherit; } -.sidebar-logo-container{ - max-width: 20%!important; + +.sidebar-logo-container { + max-width: 20% !important; margin-top: 0.2rem; margin-right: 0.2rem; justify-content: flex-end; display: flex; } + .sidebar-brand-text { text-align: center !important; /* color: #004C6E !important; */ diff --git a/docs/clinguin/backends/index.rst b/docs/clinguin/backends/index.rst index d06aeb1e..279546c6 100644 --- a/docs/clinguin/backends/index.rst +++ b/docs/clinguin/backends/index.rst @@ -1,12 +1,13 @@ -Backends -######## +.. _Backends: + +|:brain:| Backends +################## The backends listed here are provided with clinguin. All available functions that can be referenced in the :ref:`ui-state` for each backend are listed below. Notice that all backends will also include the functionalities of the ones they extend. -The source code for the backends can be found in `github `_. .. currentmodule:: clinguin.server.application.backends diff --git a/docs/clinguin/development/api.rst b/docs/clinguin/development/api.rst index e83d350d..bd83102a 100644 --- a/docs/clinguin/development/api.rst +++ b/docs/clinguin/development/api.rst @@ -3,18 +3,12 @@ API Detailed API for all the classes and functions in the server of the clinguin package. -Backends --------- - .. automodule:: clinguin.server.application.backends :members: :undoc-members: :show-inheritance: :private-members: -UI State --------- - .. autoclass:: clinguin.server.data.ui_state.UIState :members: :undoc-members: diff --git a/docs/clinguin/development/customBackend.rst b/docs/clinguin/development/customBackend.rst index 6e77bd0b..fd5e6b7d 100644 --- a/docs/clinguin/development/customBackend.rst +++ b/docs/clinguin/development/customBackend.rst @@ -1,7 +1,7 @@ .. _CustomBackend: -|:raised_hands:| Creating your own backend ------------------------------------------- +Creating your own backend +------------------------- By creating your own backend you can extend functionality and edit the existing server workflow. If you are using *clingo*, we highly recomend extending the :ref:`ClingoMultishotBackend` to create your own. diff --git a/docs/clinguin/development/index.rst b/docs/clinguin/development/index.rst index bd07ef29..6b56772b 100644 --- a/docs/clinguin/development/index.rst +++ b/docs/clinguin/development/index.rst @@ -1,6 +1,8 @@ -Development -########### +.. _customization: + +|:woman_technologist:| Customization +#################################### This section gives detailed information for people that wish to create a customization of *clingun*. diff --git a/docs/clinguin/examples_readme.md b/docs/clinguin/examples_readme.md new file mode 120000 index 00000000..6fa53604 --- /dev/null +++ b/docs/clinguin/examples_readme.md @@ -0,0 +1 @@ +../../examples/README.md \ No newline at end of file diff --git a/docs/clinguin/frontends/AngularFrontend.rst b/docs/clinguin/frontends/AngularFrontend.rst index 5718b384..4ea22ff5 100644 --- a/docs/clinguin/frontends/AngularFrontend.rst +++ b/docs/clinguin/frontends/AngularFrontend.rst @@ -16,225 +16,6 @@ For contributing with new components take a look at the :ref:`Development` secti It implements most of the elements and attributes of the TkinterFrontend. So you can also check the Tkinter Syntax as explaned above and try setting those values. -Atributes -+++++++++ - -.. note:: - - Any attribute that is passed that does not fall under this list or the specific attributes of the element, - will be set as a plain html style in the component - - -Class -..... - -The class atribute ``class`` will add a `bootstrap class `_ -to any element. -This attribute can apear multiple times. - -.. tip:: - - **Simplify, use classes!** - - It is encouranged to use classes for styling with the predefined colors. - Must of the attributes found below can be replaced by a bootstrap class. - - Not only that but you can set multiple classes in the same ASP rule using - - ``attr(ID,class,(C1;C2;...))`` - - - -Positioning -............ - -.. _Order: - -**Order** - -``order`` - *Description*: With this numeric attribute sets the order of appearace for the element inside the parent - - *Values*: Integer - - .. warning:: - - Make sure the order is set to all the children of the same parent, otherwise the order will not be respected. - - - -.. _Child layout: - -**Child layout** - -``child_layout`` - *Description*: With this attribute one can define the layout of the children, i.e. how they are positioned. - - *Values*: For the child-layout four different options exists: - - ``flex`` (default, tries to do it automatically) - - ``grid`` (grid-like-specification) - - ``absstatic`` (if one wants to specify the position with absolute-pixelcoordinates) - - ``relstatic`` (if one wants to specify the position with relative-pixel coordinates(from 0 to 100 percent, where 0 means left/top and 100 means right/bottom)). - - They can either bespecified via a clingo symbol or via a string (string is case-insensitive). - - -.. _Grid: - -**Grid** - -``grid_column`` - *Description*: With this attribute one can define in which column the element shall be positioned. - - *Values*: Integer - -``grid_row`` - *Description*: With this attribute one can define in which row the element shall be positioned. - - *Values*: Integer - -``grid_column_span`` - *Description*: With this attribute one can define, that the elements stretches over several columns. - - *Values*: Integer - -``grid_row_span`` - *Description*: With this attribute one can define, that the elements stretches over several rows. - - *Values*: Integer - - - -.. _Relative and Absolute: - -**Relative and Absolute** - -``pos_x`` - *Description*: With this attribute one sets the x-position of the element - it depends on the parents ``child-layout`` how this is defined (either pixels, relative as a percentage, ...). - - *Values*: Integer - -``pos_y`` - *Description*: With this attribute one sets the y-position of the element - it depends on the parents ``child-layout`` how this is defined (either pixels, relative as a percentage, ...). - - *Values*: Integer - - -.. _Direction: - -**Direction** - -.. tip :: - - Try using `boostrap positioning `_ instead. - - -``flex_direction`` - *Description*: With this attribute one can set the ``direction`` (i.e., where it gets placed) of anelement which root has a specified flex layout. - - *Values*: For the flex-direction type two possible values exist: - - ``column`` (vertical alignment) - - ``row`` (horizontal alignment). - -Style -..... - -.. _Color: - -**Color** - -.. tip :: - - Try using `boostrap colors `_ instead. - - -``background_color`` - *Description*: With this attribute one can define the background-color of the element. - - *Values*: Color - -``foreground_color`` - *Description*: With this attribute one can set the foreground-color of the element. - - *Values*: Color - -``border_color`` - *Description*: With this attribute one may set the border color. - - *Values*: Color - -``on_hover`` - *Description*: With this attribute one can enable or disable on-hover features for the element. - - *Values*: For the boolean type, either true or false are allowed - either as string or as a clingo-symbol. If one provides it as a string, it is case-insensitive. - -``on_hover_background_color`` - *Description*: With this attribute one can set the background color the element shall have, when on_hover is enabled. - - *Values*: Color - -``on_hover_foreground_color`` - *Description*: With this attribute one can set the forground color the element shall have, when on_hover is eneabled. - - *Values*: Color - -``on_hover_border_color`` - *Description*: With this attribute one can set the color the border of the element shall have, when on_hover is enabled. - - *Values*: Color - - -.. _Size: - -**Size** - -``height`` - *Description*: With this attribute one can set the height in pixels of the element. - - *Values*: Integer - -``width`` - *Description*: With this attribute one can set the width in pixels of the element. - - *Values*: Integer - - -.. _Border: - -**Border** - -.. tip :: - - Try using `boostrap borders `_ instead. - -``border_width`` - *Description*: With this attribute one defines the width of the border in pixels. - - *Values*: Integer - -``border_color`` - *Description*: With this attribute one may set the border color. - - *Values*: Color - -.. _Visibility: - -**Visibility** - -``visibility`` - *Description*: Sets the visibility of an element. It can be used to show things like a modal or a container using the update functionality - - *Values*: The visibility, options are: - - ``visible``: To show the element - - ``hidden``: To hide the element - -.. _Text: - -**Text** - -.. tip :: - - Try using `boostrap text `_ style instead. Elements @@ -491,4 +272,224 @@ Canvas can be used to render clingraph images, see :ref:`ClingraphBackend` for d ``image`` *Description*: The local path to the image - *Values*: String \ No newline at end of file + *Values*: String + +Atributes ++++++++++ + +.. note:: + + Any attribute that is passed that does not fall under this list or the specific attributes of the element, + will be set as a plain html style in the component + + +Class +..... + +The class atribute ``class`` will add a `bootstrap class `_ +to any element. +This attribute can apear multiple times. + +.. tip:: + + **Simplify, use classes!** + + It is encouranged to use classes for styling with the predefined colors. + Must of the attributes found below can be replaced by a bootstrap class. + + Not only that but you can set multiple classes in the same ASP rule using + + ``attr(ID,class,(C1;C2;...))`` + + + +Positioning +............ + +.. _Order: + +**Order** + +``order`` + *Description*: With this numeric attribute sets the order of appearace for the element inside the parent + + *Values*: Integer + + .. warning:: + + Make sure the order is set to all the children of the same parent, otherwise the order will not be respected. + + + +.. _Child layout: + +**Child layout** + +``child_layout`` + *Description*: With this attribute one can define the layout of the children, i.e. how they are positioned. + + *Values*: For the child-layout four different options exists: + - ``flex`` (default, tries to do it automatically) + - ``grid`` (grid-like-specification) + - ``absstatic`` (if one wants to specify the position with absolute-pixelcoordinates) + - ``relstatic`` (if one wants to specify the position with relative-pixel coordinates(from 0 to 100 percent, where 0 means left/top and 100 means right/bottom)). + + They can either bespecified via a clingo symbol or via a string (string is case-insensitive). + + +.. _Grid: + +**Grid** + +``grid_column`` + *Description*: With this attribute one can define in which column the element shall be positioned. + + *Values*: Integer + +``grid_row`` + *Description*: With this attribute one can define in which row the element shall be positioned. + + *Values*: Integer + +``grid_column_span`` + *Description*: With this attribute one can define, that the elements stretches over several columns. + + *Values*: Integer + +``grid_row_span`` + *Description*: With this attribute one can define, that the elements stretches over several rows. + + *Values*: Integer + + + +.. _Relative and Absolute: + +**Relative and Absolute** + +``pos_x`` + *Description*: With this attribute one sets the x-position of the element - it depends on the parents ``child-layout`` how this is defined (either pixels, relative as a percentage, ...). + + *Values*: Integer + +``pos_y`` + *Description*: With this attribute one sets the y-position of the element - it depends on the parents ``child-layout`` how this is defined (either pixels, relative as a percentage, ...). + + *Values*: Integer + + +.. _Direction: + +**Direction** + +.. tip :: + + Try using `boostrap positioning `_ instead. + + +``flex_direction`` + *Description*: With this attribute one can set the ``direction`` (i.e., where it gets placed) of anelement which root has a specified flex layout. + + *Values*: For the flex-direction type two possible values exist: + - ``column`` (vertical alignment) + - ``row`` (horizontal alignment). + +Style +..... + +.. _Color: + +**Color** + +.. tip :: + + Try using `boostrap colors `_ instead. + + +``background_color`` + *Description*: With this attribute one can define the background-color of the element. + + *Values*: Color + +``foreground_color`` + *Description*: With this attribute one can set the foreground-color of the element. + + *Values*: Color + +``border_color`` + *Description*: With this attribute one may set the border color. + + *Values*: Color + +``on_hover`` + *Description*: With this attribute one can enable or disable on-hover features for the element. + + *Values*: For the boolean type, either true or false are allowed - either as string or as a clingo-symbol. If one provides it as a string, it is case-insensitive. + +``on_hover_background_color`` + *Description*: With this attribute one can set the background color the element shall have, when on_hover is enabled. + + *Values*: Color + +``on_hover_foreground_color`` + *Description*: With this attribute one can set the forground color the element shall have, when on_hover is eneabled. + + *Values*: Color + +``on_hover_border_color`` + *Description*: With this attribute one can set the color the border of the element shall have, when on_hover is enabled. + + *Values*: Color + + +.. _Size: + +**Size** + +``height`` + *Description*: With this attribute one can set the height in pixels of the element. + + *Values*: Integer + +``width`` + *Description*: With this attribute one can set the width in pixels of the element. + + *Values*: Integer + + +.. _Border: + +**Border** + +.. tip :: + + Try using `boostrap borders `_ instead. + +``border_width`` + *Description*: With this attribute one defines the width of the border in pixels. + + *Values*: Integer + +``border_color`` + *Description*: With this attribute one may set the border color. + + *Values*: Color + +.. _Visibility: + +**Visibility** + +``visibility`` + *Description*: Sets the visibility of an element. It can be used to show things like a modal or a container using the update functionality + + *Values*: The visibility, options are: + - ``visible``: To show the element + - ``hidden``: To hide the element + +.. _Text: + +**Text** + +.. tip :: + + Try using `boostrap text `_ style instead. diff --git a/docs/clinguin/frontends/TkinterFrontend.rst b/docs/clinguin/frontends/TkinterFrontend.rst index fa3ec68c..cb32ceb1 100644 --- a/docs/clinguin/frontends/TkinterFrontend.rst +++ b/docs/clinguin/frontends/TkinterFrontend.rst @@ -3,6 +3,10 @@ TkinterFrontend This frontend uses the standard Python interface `tkinter `_ to generate a UI. +.. tip:: + + We suggest using the :ref:`AngularFrontend` instead. It is more powerful and has a modern look. + .. admonition:: Examples @@ -20,6 +24,3 @@ If one is also interested in what values one might set, one can also look at the $ clinguin client-server --frontend-syntax-full -.. tip:: - - We suggest using the :ref:`AngularFrontend` instead. It is more powerful and has a modern look. \ No newline at end of file diff --git a/docs/clinguin/frontends/index.rst b/docs/clinguin/frontends/index.rst index d6c0aa9f..a88143bd 100644 --- a/docs/clinguin/frontends/index.rst +++ b/docs/clinguin/frontends/index.rst @@ -1,29 +1,22 @@ -Frontends -######### - -The frontends listed here are provided with clinguin. Each frontend allows different element types, arguments, and events. - -The source code for the frontends can be found on `GitHub `_. +.. _Frontends: +|:art:| Frontends +################# +The frontends listed here are provided with clinguin. Each frontend allows different element types, arguments, and events. Built-in Frontends ++++++++++++++++++ + .. toctree:: :maxdepth: 1 TkinterFrontend.rst AngularFrontend.rst +.. tip:: -Creating Your Own Frontend -+++++++++++++++++++++++++++ - -.. warning:: - Under construction. Sorry :). - - But feel free to contribute to the AngularFrontend with new components! - + We suggest using the :ref:`AngularFrontend`! diff --git a/docs/clinguin/help.rst b/docs/clinguin/help.rst new file mode 100644 index 00000000..a435941a --- /dev/null +++ b/docs/clinguin/help.rst @@ -0,0 +1,65 @@ + +.. _help: + +|:speech_balloon:| Help +======================== + +.. admonition:: **Logging** + :class: tip + + The first thing to try when things are not working as expected is to turn on the logs and inspect the console. + The log level can be set to ``DEBUG`` in the command line by adding the flag ``--server-log-level DEBUG``. + This logs will show the communication between the client and the server, as well as every call that is made to the clingo API internally. + Information regarding the :ref:`domain-control` will be logged in magenta and regarding the :ref:`ui-control` will be logged in cyan. + + This logs will show the atoms that are part of the :ref:`domain-state` which are passed to your UI encoding. + +.. admonition:: **Unexpected atoms in brave/cautious consequences** + :class: tip + + If you inspect the logs, and the :ref:`domain-state` does not have the expected atoms in your brave ``_any`` or cautious ``_all`` consequences, + make sure your :ref:`domain-files` don't have any ``#show`` statements. + + The show statements in your :ref:`domain-files` will impact the atoms present in the :ref:`domain-state`. + If you are using show statements, and you want to use ``_any(a)`` for an atom ``a``, that is not part of your show statements, + then you have to add ``#project a.`` to your :ref:`domain-files` to get the desired output. + Furthermore any show statements that output a tuple (function without name) will lead to syntactic issues so thet should be removed. + +.. admonition:: **Long response time** + :class: tip + + If the server is taking too long to respond, first check the logs to make sure the server has not crashed and it is still processing the request. + With the ``DEBUG`` log level you can see the last call that was made to the clingo API. + + + *Brave or cautious consequences* + If the call is the one to compute the brave or cautious consequences, then the problem might be that your encoding has a very large serach space. + If you can, avoid using ``all`` or ``any`` in your ui encoding, do so. This way these calls will be skipped (similarly for ``all_opt`` and ``any_opt``). + + *Optimizing* + If the problem is finding an optimal model you can pass a timeout to the server in the command line with the flag ``--out-timeout 10``. + This will make the server stop searching for models with a bette cost after ``10`` seconds. Note that the response time might be larget than this timeout + if the solver is already searching when the timeout is reached. If you pass a timeout of ``0`` the server will only get the first model, you can then keep calling the operation ``next_solution(optN)`` to improve the cost, one at a time. + + +.. admonition:: **Can't manage to place or style things in my UI** + :class: tip + + If you are having trouble placing or styling elements in your UI, first make sure that they are part of your UI state in the command line. + + make sure you are using the correct attributes. + The ``grid_row`` and ``grid_column`` attributes are used to place elements in a grid layout. + The ``width`` and ``height`` attributes are used to set the size of the element. + The ``class`` attribute is used to set the style of the element. + + If you are using the ``class`` attribute, make sure you are using the correct syntax for the style you want to apply. + The syntax is a list of strings, each string is a class that will be applied to the element. + For example, ``class,("border-dark";"bg-primary")`` will apply the classes ``border-dark`` and ``bg-primary`` to the element. + + If you are using the ``class`` attribute to apply a style that is not working, make sure the style is defined in the ``ui.lp`` file. + If you are using a style that is not defined in the ``ui.lp`` file, the element will not be styled as expected. +- Inspect in the browser + +- Raise an issue in github + + diff --git a/docs/clinguin/installation.rst b/docs/clinguin/installation.rst index 059badf8..38891ce5 100644 --- a/docs/clinguin/installation.rst +++ b/docs/clinguin/installation.rst @@ -1,5 +1,5 @@ -Installation -############ +|:gear:| Installation +##################### Clinguin requires a Python version between 3.8 and 3.10 (recomend 3.10) @@ -18,12 +18,11 @@ The python clinguin package can be found `here `_ , and run it using the :ref:`ClingoMultishotBackend` and the :ref:`AngularFrontend`. -The ASP files defining the `instance `_ and `instance `_ for the sudoku are considered the :ref:`domain-files`. +|:rocket:| Quick Start +====================== + +We will use the `sudoku example `_. +The ASP files defining the `instance `_ and `encoding `_ for the sudoku are considered the :ref:`domain-files`. .. image:: ../../examples/angular/sudoku/out1.png :width: 45% @@ -90,7 +92,9 @@ The first four lines will set the size and position of the dropdown. The special attr(dd(X,Y),selected,V):-_all(sudoku(X,Y,V)). attr(dd(X,Y),selected,V):-sudoku(X,Y,V), _clinguin_browsing. -As part of the dropdown we add the different dropdown menu items for all possible values the cell can take. In this case we add all values as items by using the ``class`` attribute; those that are not part of the brave consequences will apear in red and disabled. When a click is performed on the item, the server will be called and instructed to perform the operation ``add_assumption(sudoku(X,Y,V))``. +As part of the dropdown we add the different dropdown menu items for all possible values the cell can take. In this case we add all values as items by using the ``class`` attribute; those that are not part of the brave consequences will apear in red and disabled. +When a click is performed on the item, the server will be called and instructed to perform the operation ``add_assumption(sudoku(X,Y,V))``. +The avaliable operations are defined by the selected backend, in this case we use the :ref:`ClingoMultishotBackend` which is the default, and recomended one. .. code-block:: diff --git a/docs/conf.py b/docs/conf.py index 717f8dc4..54970eb2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -40,7 +40,6 @@ # The full version, including alpha/beta/rc tags release = "1.0.17" - # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be @@ -59,6 +58,7 @@ "sphinx_copybutton", "sphinx.ext.viewcode", "sphinxemoji.sphinxemoji", + "myst_parser", # "sphinx_design", # "sphinx_inline_tabs" ] @@ -131,3 +131,8 @@ copybutton_prompt_text = r">>> |\.\.\. |\$ |In \[\d*\]: | {2,5}\.\.\.: | {5,8}: " copybutton_prompt_is_regexp = True + +source_suffix = { + ".rst": "restructuredtext", + ".md": "markdown", +} diff --git a/docs/index.rst b/docs/index.rst index b247b5c7..6477c0dd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,7 +9,13 @@ Clinguin: Building UIs in ASP Clinguin enables ASP developers to create interactive User Interface (UI) prototypes using only ASP. UIs are defined as sets of facts, which are then rendered by a fronted to provide continuous interaction with ASP solvers based on user-triggered events. -This and more examples are available in our `examples folder `_! +- :ref:`Quick Start`: Step-by-step guide on how to use clinguin using the sudoku. +- :ref:`Reference Guide`: Explanation of the concepts and components of clinguin. +- :ref:`Frontends`: Elements and attributes available to crate your UI. +- :ref:`Backends`: Available operations and the predicates that will be available to create the UI. +- :ref:`Customization`: Create your own backend or contribute with the *clinguin* project. +- :ref:`Help`: If you are having trouble. +- :ref:`💡 Examples`: To get inspiration for your UI. **Here is a motivation example:** @@ -43,8 +49,6 @@ Clinguin will use this encoding and the following ui encoding to construct the U .. image:: ../examples/angular/sudoku_basic/out3.png :width: 30% -For a more detailed explanation on how this code works take a look at the :ref:`Quick Start` section. - .. note:: Clinguin is part the Potassco umbrella (which is the home of Clingo and the other ASP tools) @@ -52,11 +56,13 @@ For a more detailed explanation on how this code works take a look at the :ref:` :hidden: clinguin/installation - clinguin/use.rst - clinguin/reference/index.rst - clinguin/frontends/index.rst - clinguin/backends/index.rst - clinguin/development/index.rst + clinguin/use + clinguin/reference/index + clinguin/frontends/index + clinguin/backends/index + clinguin/development/index + clinguin/examples_readme + clinguin/help diff --git a/examples/README.md b/examples/README.md index d5665a9c..59fd07fd 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,85 +1,58 @@ -# Clinguin Examples -Our **[examples folder](.)** shows how to use the range of functionalities in different applications. +# 💡 Examples -## [AngularFrontend](./angular) - -An web UI made with angular and bootstrap. Make sure this fronted was installed according to the documentation before running the examples +Our **[examples folder](https://github.com/potassco/clinguin/tree/master/examples)** shows how to use the range of functionalities in different applications. Follow the links and check out their UI encodings in GitHub to get inspiration. All the examples shown here use the AngularFrontend and different backends. -### Multi-Shot Backend +## ClingoMultiShot Backend -- [angular/placement](./angular/placement) +- [angular/placement_optimized](https://github.com/potassco/clinguin/tree/master/examples/angular/placement_optimized) - - + + + -- [angular/jobshop](./angular/jobshop) +- [angular/sudoku](https://github.com/potassco/clinguin/tree/master/examples/angular/sudoku) - + -- [angular/sudoku](./angular/sudoku) +- [angular/study_regulations](https://github.com/potassco/clinguin/tree/master/examples/angular/study_regulations) - + -- [angular/style](./angular/style) +- [angular/style](https://github.com/potassco/clinguin/tree/master/examples/angular/style) -### Clingraph Backend +## Clingraph Backend -- [angular/graph_coloring](./angular/graph_coloring) +- [angular/graph_coloring](https://github.com/potassco/clinguin/tree/master/examples/angular/graph_coloring) -- [angular/tree_browser](./angular/tree_browser) +- [angular/tree_browser](https://github.com/potassco/clinguin/tree/master/examples/angular/tree_browser) - - -- [angular/ast](./angular/ast) - - - -### Explanation Backend - -- [angular/sudoku_advanced](./angular/sudoku_advanced) - - - + ----- -## [TkinterFrontend](./tkinter) - -An OS dependent UI made by [tkinter](https://docs.python.org/3/library/tkinter.html) python interface. +## Explanation Backend -### Single-Shot Backend -- [tkinter/sudoku_single_shot](./tkinter/sudoku_single_shot) +- [angular/catdog](https://github.com/potassco/clinguin/tree/master/examples/angular/catdog) -### Multi-Shot Backend + + -- [tkinter/housing](./tkinter/housing) - +- [angular/sudoku_advanced](https://github.com/potassco/clinguin/tree/master/examples/angular/sudoku_advanced) -- [tkinter/sudoku](./tkinter/sudoku) + + - -- [tkinter/study_regulations](./tkinter/study_regulations) +## ClingoDL Backend - +- [angular/jobshop](https://github.com/potassco/clinguin/tree/master/examples/angular/jobshop) - -### Clingraph Backend - -- [tkinter/graph_coloring](./tkinter/graph_coloring) - - - - -### Explanation Backend - -- [tkinter/sudoku_explained](./tkinter/sudoku_explained) - - + diff --git a/examples/angular/catdog/README.md b/examples/angular/catdog/README.md new file mode 100644 index 00000000..7d4d0a05 --- /dev/null +++ b/examples/angular/catdog/README.md @@ -0,0 +1,18 @@ +## Cat and Dog people placement + +- **Backend**: `ExplanationBackend` +- **Frontend**: `AngularFrontend` + +This example was used in the paper for clinguin in [ICLP 2024](https://www.iclp24.utdallas.edu/). The aim is to place people in tables so that no cat people are sitting with dog people. + + +### Usage + +``` +clinguin client-server --domain-files examples/angular/catdog/{instance.lp,encoding-explain.lp} --ui-files examples/angular/catdog/{ui-tables.lp,ui-menu.lp,ui-people.lp,ui-explain.lp,ui-explain-msg.lp} --backend ExplanationBackend --assumption-signature cons,2 +``` + +![](out1.png) +![](out2.png) +![](out3.png) + diff --git a/examples/angular/catdog/encoding-explain-example.lp b/examples/angular/catdog/encoding-explain-example.lp new file mode 100644 index 00000000..fbfced70 --- /dev/null +++ b/examples/angular/catdog/encoding-explain-example.lp @@ -0,0 +1,4 @@ +:- assign(P,(T,_)), assign(P',(T,_)), person(P,cat), person(P',dog), + cons(different_type, _). + +{cons(different_type, "All people on a table must prefer the same pet")}. diff --git a/examples/angular/catdog/encoding-explain.lp b/examples/angular/catdog/encoding-explain.lp new file mode 100644 index 00000000..07d9f830 --- /dev/null +++ b/examples/angular/catdog/encoding-explain.lp @@ -0,0 +1,12 @@ +#include "encoding-explain-example.lp". + +{assign(P,S):seat(S)}:- person(P,_). + +:- person(P,_), not assign(P,_), cons(all_assigned, _). +:- assign(P,S), assign(P,S'), S>S', cons(in_only_one, _). +:- assign(P,S), assign(P',S), P'>P, cons(only_one, _). + +cons(min,"Minimize"). +cons(all_assigned,"All people need an assigned seat"). +cons(in_only_one,"Each person can only have one seat"). +cons(only_one,"Two people can not be seated on the same seat"). diff --git a/examples/angular/catdog/instance.lp b/examples/angular/catdog/instance.lp new file mode 100644 index 00000000..a2792837 --- /dev/null +++ b/examples/angular/catdog/instance.lp @@ -0,0 +1,2 @@ +person("Susana",cat). person("Alexander",cat). person("Torsten",dog). +seat((1,1..2)). seat((2,1..3)). diff --git a/examples/angular/catdog/out1.png b/examples/angular/catdog/out1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b261da99831de36967b8229b8467053796c55ec GIT binary patch literal 88884 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

A{aRAMFGbr{zVQ0Pa3$p+l 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

1hc|CLGdZgNUI(SO;N-)hga#AK; zos}E@TjL~K`GudRN`g`=~)oEd4%|)`yBW6l(vc2w#JJr>c`djdf z>n`w|zz=v;fg9>z<`q@wTDU`%C^2i5+L?JP(GmzPn#QvNcehpp zb}I4vk7}S7;Tsl8t`!@KLrz^s*wGR#3`=d@ETKj5Y$yEmaS&AAZ5NMf5nUKmsX^Kh%$XLC?iEwJEs|g84IT9&rXFOShBDIhDi##Jw~w5C zUQY>*nKTv#E=0jZ6tzVuZ>h5{;7)|Xh^mMN%CbgE&sq7RL%R<<-P%m#Tw1z zP$aiu<%ZPTsTOw3@#>-0cF|xgaFV00`jk7Q3qY(zWjFpQC4}DOE)M*3HFw!usnY50 z!vrR!R8hO7IuYcQ-(9bfP2Xl?mD!$f0Wk4mwXF{$w%}!Ji)8s+uG-4W{A%OY_%|8G zMyzSCl0I~96@T|=KR%qL~)H@JPj(k1$bLP zVze&!f8?9+I zJ||E+5E@{wS5XKATx+6L#3=72SR6TJ@*(rhyLpkZEqu@=a^oc324qH+P!d6vZq6H- z3^*|G4LDAviZ{N4d;5R4WrlZ^(AAHu=&|9Cavf+P#iP?0Nel65+iz!h)@;GR0Pr?H zk@QW)g@YfvqC~>V3Kch^z~`*>Y_XwNNqaYo%167pxui0wtIX~2rQy=;u!Ky`kdY6U zqgjFC2nV>HM=uIi>-GUIKjA_ZX=sB77Af;RkZ(Do-Z#bVCsdZdC$|5bA}vy#Zy?D|#0TK<>|U!=y`$fsxN zChF6SL)~dBRJL5M$u?UwmGx>hRa~epcHp))^g(wF3p3fmp`f3IUS5^ zR*bsM)^R@U%SicEgN-P+-5d0yB6r6(jL`mrw*UNySWxYVrFau>w%s&(y%WFXACQ>bg0IB4(q;PXp__&)Rgi(c z0v^<(x9|~7LP9cT($AzL|CtUq5!G3;8cbv(W(E|t>g6*<62Mw$*Syg$X_4o2)&P2L zf??xQ4RrFkG5#_6|sBmw;&apwnB9#Ev@O@)8| z!ysGE|E%5yqT{O?$lcn-IKo_0y=ucY?ChZ*ctvC3%=$MMu6&~3Z2OJfZ(hVNG#9sm zMGL*Ve@y*JksTkLi&$vFgYveaCQjm>fRROrTo^6m|Hml7Ymnwym0=g%*h`b!4@gN@ zr%7xUywG<{vh2Lqy{nm;N4ErIEg<f#Fcx+g=0R zWK4~9b-u~$eUPi`_d%SGvf5O2s>UOk==+q1BiBxVESgLGgjwyt8m;jbeAbm@q~RtEwWnK>!%D)Vf1riPlFofzOob za;}uWU7(B2?21Veu{I&)Wfm_!6#bS0b?v(P(DBw#^sl(1x-YLRZCE`33u?X|>R^*_ zHGJfV*4dJHD`1vjIHY|C z&4BSjj?OOcZ-q@dgNk5&Zs`**VA@^K5PLuJO4c#ZpftZ&d0*$uD?*irNLetr5aOry z2@*CtoUA%6Hhl)`bCxx@PG#=52g0+oC(3Wy4qS+gm1BI^o7K`UZM3(>v0*U_EG~W% zdN9-a#DH53)NOatWu&I5dG~NQaAox$N@ngPb%A+gd!yF&O`%6TY;L(X`A6731En-x zaQ?la-^8G^oIBKD=TIql^<6pS+Rf6$Q2C+pYpa+!L3O%+TH~GZqyy^B-hig<1w)#p z05&nj-QROKot8{>n)uHKcy~W_oM*9-`4JY~QNF_dqhL(`mjBUexWaM&9K~by*W1Eh zG_PT7nxlO5hqyIU*HJ$lOJS_hUS+GoLXhSCRG|ltOrBv9jBQ*N5fVbCS-I?2_ZLvZ)Z?+N^){do`&J;NpBsfo z(B6p3L8=m#j5-O3>`n1CL8qE=zDY3LPG$4q{ZfkAki^u*i+$^UpLdqL5#|GjFh;(G z&|83xqOlo2FP;-J)(8s$9WM3 zIx0g~TxoLXdD$VueT%A^Q5hdJgu1{y3k?l(9#509(Fx4L6~>FpNFn=+FTJw{l)Mp6 zS&oLO$Ys?xi8LJ_2WAc8U*7GLGn`&|W{)bjbY|aD@hTnF>*;K`*Q01wCk0c#=xZm6 zan={k89W;Rz7)M9?`T$@98DP=wDld0)`<%}Ug+Cqj_zv=iQ8jBv7QBVm1@P7%#(SZd*UE=}D>+(?1fK4Hlsm^LyWxMe8 z0?c0{-2d3Vq_%7&XMV(C%)C;M8Okq$QgpiFo2CpL1FAE%6xPS2G|lUwhRmhT6<}la z$f432JdBODMD3fmg>zmunQ=u*O55M!Pp4-PRUM2p_k@C(%Vqs6rXz&wcujE^txtOA z;&*Qbe|@v+W#$piy0e}U-z1fd{#e&rkxM^R>;nW=sd!-MO52|vwQ-fauM7jR!d}MV ze$$qCAHS9m9vefiBw;i2S+$Jf(?(}rH_=Oi`}l+Vw`SU$-Py~IGI%-$M2s$^IL6f7 z2ZK`x!87OtT~@fb4)^DXsxeJn8bfEs?&_~Uc4saG8FB(N24CV_c4a!0!) z2*CB*wAc{A&JCVt|HJ*63@2j*? zKdTyptCtl88{Sn}6L%4-H^|`6RTPhx2s&pC6{LWSxL_=c8b7S>AI6|+NXLlrB^|rE_`wA+r|28H%J!Grr5P0YUef(4A zROf#fVTM5zbBOQZ(+X%{kq3$;^!~e1&clPARWS#cIP5s{{c1M{m`6YeQo&sbFFvhn zlO=GAHE`+3&n}`IrJLA=TmeVr1lrD515t1ANzus5$*lCiJyW*F1zQ))Z%Uf!E!a>B zBo<8)Us&L1KTUUtMFvjz9Gg$ZcphhFLy^g4D_aM%Z=GNdS*G{P5}_Z&XE)}+uN?UtQ4YKHyV4I_oG&Fti|~gJ;p{9vg}LryUjuGZ;yz40%D!7pk4&F|3=TX!RB#J1Sa-& zq!jgIAf`esNG|ftZ@2AF>kO;5ka+B-S57uLF9Mh>%iJ1x*v0a3DS#d$Ue3j0`rd>a zGm%*R>oOa!z%4h3`5N6t*4!10Y|y^RBv1~bm($9jMGzd#zS_9U+f@D0OWB3Hn@6|#A);_m-EB)6=EB`fE-;gOllBm6+`0-aVBYdC7l!$1YeP+R6Lo5p-WV7QO;dsnRAfc!p#zTuU2SWns)fyP%E zbKCSXV3>>*YgV$Gi=i@tx*Dm=mds24+M}9N_!x@2eJ(CC^!+?CJm!`C`p4Bxi71Db zdy5$t#zWmMEmIuHiMR`vyU1^-+u}C$_i5nB_s|Jwpw;XLAnTUj{@j_DZ5Ub5-g>=1 z_XHF{>lVl69UUUY>K$G76{!Kxb+8!n~eAA$MjW@L4`U-zxaRsY9tx9owpYG zi*hZ_-l@5-!CbXl8_aLV&j^!MuM zp6TKCfpT20!h748pu^1@Bp)MufAMbK>%QfUfL631XKJ1S8ljWqZKd#|`XKgYSMGu` z_7u$kF~uCGc!i5nZ8+c}^_3v+OJarpQv_|?IQSKZqvVmlEExJ{LLZ>pp)@GwHA9l& z0I0xnIm%pGr5gpRLWoGs%g}{mqW(gIBfi{%-R00e$aL|}qNRLNyxEzjsn6Km^L;h= zM&Q?JMRR-3&VCKb+#Xt}5S2E8^aXu8H(jpb9*Yg+N1_PH6LSj zc^B_}7nWY+vh%5d%HrK7e^ozWsMnlByGYc=Q>RkfLP3iZEU3J;0SuIau+|9hq+dDVAET^v=dj#MEKj|XqO|h@uWV%4Y9==ihI<2?-_A^)b zJo_Jt>yC?F*WBjj-m79xwd+Y4p!rKD#R?FJK~vt!ynNza>Wd$_AnlG?Igu81IH$;E zUDkYMFjkxN=A<(G@z#`KSi2J)yk2i{E?jE>QAOo#%@rV6nj4Q#LajCY@1Bz@*S5%c zA+?y;33jZiroHqyH!mt|S_~FdNWU$yWcg{3WX9a~EcxQunxiF_1M4#Yq`GA5}Ud$vNe0D=wxGFvw zfGDTR{e^d1Cp(_5rDf0CM(Z5Ui|!I%td5V{42^fc_%*vzA{0ft{ne|TiS+^kVS1i@ zr(VcPCOlXoVJ#{pXHzuDso{zMQhlU)O38)e+INYwP_6-z)sh{X|cr=)WPPXAL=C2 z9{o1PpsU3*-dWLu(H9xx!j3k-%^NW3kQV!m>A{)HRXbGZxFXyw;UcIs?k{`6USqVS zv8khmPeUy%xH~Pws(XnN!P|Rva80;fh+C9r@n+juxGa)@Rm`2$Su*Y(SvXBBBJ`*r zo6Kn{*!bvW#XANh9ou6H(lWrWGLn5=4ytIE9W^R(j=Y;jKPx9?ivqi^cbw;@z98rH zS_mx$WG)_}731cFONT6BSzooArzyWecIr|OQ@gKB;+$LoXq5cG@x>z5(p@JOK`btT~NH;OOPx$(v>btc)F%b&mkeY3Q_2&vrLrm5$0v+5;PNycg}{x8R+s?rB>aW9&-nt6 zz%*l_FCE9WjS|&ccm5dhEcDKmE7sD6yPW!$r37Mm24Ua+)L>zb3AQ#ela!cSF-Xk^ zfJz_jB5^X9B2kI=(;}0eQ%#eQCpQIwiSDPaSA@VLx6-(RT?b6A(GUaoFW| zKge*y=8d4gbTZv67pkifT-3jQ(Zc*&HKDyD65V)*uBLQBVYS|>zGN`D@SpcpoKcb0 zMV1}L{ifq*J4$NCX94lpUDtcqd%)P%daR@UOsy5O4Xg75XTj`K#>;E6nX&C+m_jZN zZ!-BJg^HkZ3fssY%%OYAl9u*6%Vpl8A84DjlbQ;()^a1! zc^#42hBnUpEO(vL0hUc08 zuBo3n=ckD4p(|)tyebX6FJ~fSSvYOwpisvc0y)6GK$o~WqBr|0f*@1KP2F@v!b+e- zU2usJ4?5d``e3fJO%Y#SW<p6DS-L^C=#A>2BYP8(GrcV2=g99SwWw^Hso{0iDxea%c35=^I&j_K7W$T`R$k(|7kWo^$?5}(2t0hQ1YB`ktiZE7!Aaa8}BNtShWSrJzODDvUzbH+?U$zVoy%TQIaKMU3)Y;XkhBA`ZdF7phpib?1QAhY53-3m`oM zO05WXG<`stNHdr_EfJ+={slAfL0m^`&?|;k*jHsP7Hn9gk@mhIH0qB}qCSJVf^FV)7v4w$*s#h2t%uS ztsMlqKxAbf84pYyFftlLSW6c?Ia88>3C`8YzUpH>CiZBK3Rf6;+AYYUSdW#~S zeRyJZH;mG<#OU_9XtOGyE55Ko0b2%KnB^8Y9UVJ>J1&3!B?VH2Ah>ra1cWw?_FOrJ z$z2`wkrvuoqhWa{=x-c_!7vZT=`*Jpk|7&=yp=eTrJOpCQL|-?G_KMl#XK$7;B(aXx zm>7e4^vizRZl%;Tk6*`r5tqD4#6YeaCW-26O;w@zF}aNVOs$;UP$koP^xzFP@WC$= z1AF6XjQO`3uZQeH2VpfGx9i2qZ1ks{*6HO^?33M)1}aS5d(V3HTuey$Xa+SG>3)my zAOh<%Om$f|^<5&3!h`ZcGn0)JcWAv*)NZ7bjKS}n^S@V@^`UHE+IF-ohtr9&&($xI z_7+4qx#Wa2n3rtlF7NuYA1WF*Kz5#Ni(*cx(nmomS5r3qF2-N~ov5Xj!*W|t8&Xp6 z<1<^z-a*D<WB9@9HIOBw@s9*uKPWsr>xDu~w)niLg`0Hc{d=o%{yg~t zVt&`&Lqn}*zLJ7f!n*SDlglaBY2oJNvB{L1tlslSK`1QW!H^*k=h?qG$Rjs?sS^eU zxmH&s@4GnHs@9CXnJ||soJdU(V@>(c>FEgxa~p6dGH3I4Hk`W3)%$2S8;L4XSMz*A z2WPDRXw;R0mSq^%8-GvBkMi{Wbr3k&Dlt@Pv+!_|ElKV-pV-kH&_yyq9(=|@Zi=z_ zTm=djKT)kHdSg7(HhJ8?RV^^|%Q`G)2zTIv=nI*pgS$bU!^Zvlo^yQ}O00YVw-p0< z>D+}Qp14cNmm){!OQA=d+(19xY(u#nKv1EvZ_FV+{YQJu>5L8KYXq3~>H5z{%i=Yq z(Bnfs+~~lUVt4CXPLq4fmnSD*R%dl$G(ARQ&GF;jT3Tdp#=4#>eewR1}`i)GbO@QIhSPgJkblsyBapukiwMz?vrV!IYbVqm6 za95zn0NR&pRy)wigK8e%6}T2~c5h;J6Tg#HI z23iCI#)hn(As==&Pm)6$*(KfRSH&&YrY3!xTeCV>ACy<@sZ(L zu0!+%P!XbB3v)OLux5W(&oXKO8}3w%e`t4R*g>#w?~aj?5$&h%=etr8aqMlS-N zA`X?W3kwb|u`~nCDCtYyU+(^5oWp%7@0BVjxV?JTV_77@w0FU8hc{dYqorD z5RJ~46!zsp3m4t+sZM4SH8Y33{VcH7|HjJ2vB0CkP-fu(d>R1w0o$_8t*U;)9R@#N z)BRvo8kEYYl`eP)z)K4615IZGFvqrqmP>gd#9bT#pn@vcagxBG$kZSJ9p&UVKIRys z$5agqU)BYgWF%wU&B3!c=YOH!+1CKQb|OStwB$27Kkvyk-Lq5eeV(Lrse%1iPryfj zK(XA5-xFVV3`_3sec$KCuPG4SscQTyTsQx4-vensDHD2LK453OqWHAxrCMPj#CWda z7sln^iICxM01TeF#J=hD>m$nnbEh{ii0*fsfUxY7;ng>$0Yby(=>o3$kj@(`dk#QD z9t3)JBQ)}Rnd8=jzW5XW1c<_xC!J_)o*bQCe`_ni%Xx*rp&jsY`!7WncoiP-zp2L! zwSQT|z+bH={^n-D%ljLDnXRd{Kj%c%pY$f{vV%Hhk9YO<;*P9hA6;lD|8JDY*T*cp zFSgD`WjK8VZkNjDuHL54>jdV?`Tss&7X5=BQ}FHpD<{f0(rw)fvc~P>!)PP$VTY4i zVEr>5YyZtWaUwC!jbxWL(=bM!;Xe~TGJky37To=jvU?@m1)zqWoU{hUJ-;~C^|6CI zy9B7gbt~-n!fO@ek=5;aP?6n(lP46eQN13`t914&btb!R>v=k3tD!NNwLF;zptPG1 zmBX4~8o)I?4HF$0OkxjrVdDZu!T=9mBI-P_kV+fv9n{C(b1svo)t>u*2Tf`AOp3F0 zF&*H&z9OXNk41VXwE(u~kkrw?)c5;NK7ja&Yf;%?URw5cZvq2HU~m-pwhA7&5ATmM ztNcS7j^THJj{4EYZEBs7zDm6Al=%-}-vEbUiEl{cWMEKqA+iHD{xWDvFb1}?b;APp zWl+j$$Pqm708{kFOyb4^P^wV*&!@;pCPNATrwTG&DHyD|g+qFUkf+6`Q=q@M#Yz8X zw%u1Y0^?pLoEmaoE(|xhyY?JG7mRTKMJWkkLTYz8!pIgS)|Lu7Y-$#gb1;CmY33oKN zv_t*=hv(Ch^%_4&+xYHckiHpfd3$?)7MkGg18VtOAx(XNE~ZBpET++cK=y20uTFj+ zI8p%`?%zcY>J0jSw6y;}{MzTV+Rb_EzzjK_!VVY=-kkgtL6!QbJ6bOE<@j-@GrGM1 zC%b&~j!3ivA5oUuPb3q8!`l8bU|D1XulUX!CQOn!*D8*35=l(&O`U%eFUodU0t9c3 zg^vhN7m`KPz|g%Zp%eVz$x(Uw_R@}|RiLz1=13omp-qb}5H{3kb;2KD%o{B(X&(gm zLs@n1QNXyUr7ACr+>_tq766Q>UVSgXNoFE`D~*h9TUynqKE8MmQfcp$RA^=lAi__M zRK@7aHocj_d7~#-5B07K*Ljhp(o4JP)PkrW&Np^!Gi7(V3I?%zqT=P?DVh z5b?>;rxvf9_#2=zte#ci!Jfmrca^&T{Ype+HZzaY%1zu+Qw<*{g0O;Dg~cVlCS;!ZtK9mQZ>Lo{Ey)UUjE-MdN%QsA4=s0wln+9r^E*3 zCIAAGtohzlEKN!a$=D$D&m*C$Z%rkP?E#Z(Y-s2XNjpJ5F+C1-5oTdnP<8_HUiI>?U#239z!}qfsiy zbpoxyMvA{P2C>{ypF^m6J3)3vyd-lt2slQb!cRp>=|&*D)+*4pmB z5LYfwU%!^~vZsVh|1))WEsH`A9%XHuAMQ4Fau4cq#-QS=;zGk42C|u0jlhM4KvjTo zhi@#oY(v4jeMU{=IFveV>tOohqP2>E_|)eQBE`TuvKBDn9vrybC1TAeI1 zC*us7r>)~6)%Q~jHw=3y#v9PO_*2&0K*Vr5CG+=*27y8T2Gqo1Of)75F|Wz?RRU0v z*rE^p1)8V-KYVWb+*t-wU5_+fwl=B0M&rd3g@Jp^Q}wzh{04me{-CkNhANBjCz|`x zOH|Y@Y6AOZ7dz1kDo*ImWo9tqE$)1sx>UPSdRxWt@Tu%>P>5P-FmMikcE}efjl8{O zmAz=p{=n(fl^w+a3V7#efN~9V^@@P(xA3{w86r~!nD@h9s`Dvbc$k-#I0>}y8y*IL-roHM@O~_zLk0Qo6#$`$c(e_1AExCZO~m z{%7vy?WCl+*L#kRme%MoXu&d{q2p=k$ zWWm$djr?fq#H}x9NZ{&)!-56_cDRD68f-Uec+!jq$52?tA6r5c+8d z1}m1Uki04nb=#Bq5FJe`H^f=teq*tIg|M8iD^wRCekE^Q(4^2ChfLTM}=0 zMo)OJcv3pU0&*GTgvH|&mZbm3r*r~(sHT@#d_(6q^!5u)r({NowZ6-!u zsvV%dxeAbvBCbSd900sQjEvWKK%W6+8yfZr{NtmP*cD@6-u#nYW}1DaS!5Bg?8OWs zpHRK=Yu-nVjsJ1xv>~k#v&{qrh)CqkZ}4=C>*#@JdQo=CwlH}cPd&4;`qtv^=Y18k zyK-I%9Q>u{`c6FQd|e-3;M!EZ2%9OdYX{E0rV%zb*W&WXK;#0)b&b*HN%{3I6D!X0 z-4KsDz}1fc+wp3_0+~E~LXXX()-h-LZA{eRf_B$mb}<|K8Yl5V{z0F5j9%5Y7nCzQ zk$NijaBO*>oa6T|{cV;@kL=w-4e&mCal4cV1bUsoU@IZhuC+BBn`QU@%&Rw%gtu&> zM1|ck+Zx}s8@s_ab^!YB{oR=0sWigUNSl~1up{?HP8G0`-mCsg36YvkXb^oR(Z^w`V|orUngqd~roHT_pWE+c|wq(ffl2uYu39C#<#DSV6;mQ~m4ZMglNYt&Lja(w+64 z-h+}|@&yYZV5nf+Yt3%(y1n$FYzdfzv{TtZmz3o)IAn2Go&f9=&gOr@Upn6Z5a`1x zD|@9Rw4^uMZu;{agcT1a`bRS0U_$}7zI(z7tA zQ_i#z*!Zz9dO+?&#*3biHNE)cBbOxA_CCHK7*IJ6w#I~JF!$JUz2wG35SWSY$+V@S zG6;Zv!y+L2>U@TLK<_&KI5cQ)ItKRZv*hD0WII8Ry0x-qqDU(9A+e!XCGhXyCzd0; z?QQF)t6Z7@o8(N2p7(icXjk!MJ&BZy3$=|boa}dGACuycH3GUoHlo#%vX|T0h;ZY~L^mL%q@kM186pT~{Aut_R6yme3vlSA9vXZnxya+ ztOmET8;?S%iOIi4ae1fugeHRTJ=s)D=J}mF zhDwB9m|aSP1L6zU*pL$dSSRwZiM59_aFfb)hq9JB|G-5|OrQ_uWx;Kz1PK!uq^i)| z!hO`YZ1|(yz+k`SoCu(iybLsyjZA?a$*4b^!A)A4D9bi8?_Bfnp^dv9K$(>Ulquho zy@Mpdv2|o(<$|HzfX?+{yuS77XsBdo`D2OYvB~gu&c# zh!&6~>zfS8yhN$PjSHQv}QbYq6bp&D+oS#4`WpZp<&D zd9o3OlDApIawn}-Qj9R$Ykf~aof@LSrrdfMG9=aGC7x;HHwpH^ENDW9`p*`gXYn`# zD!Kp+srqO%vY)wI+geX9$BqmZTD;BFI};21?Tymm2Osi}LZM`*YtVcL2idh0xyR=e zPM+V_OTy1taet~G`)>JTv96u)K&xem?dJlR=Yz#R55@K$$Nej&uPE-6!AIhNL)kDxyb9+lkcyu2E&EcqqdcewWdQP}BLV>a;(6)RZvwsCmKE{-h` zUtN0iuV+x?5C9)c2`vtxo^7w96rpX`=@Ds2S9H^giT|L3R8@9q&eQHRT}s>1eua1% z(4_`sU1%H)KB440^NNAYO)+S$#rHVG&?|2P&|U5hu<6!?FO~!NfRYNNN0DhaO4+dE zPdrdL(^`7l6Y6AXWMqM$Y~|4LR4utt&m=>)c^Hyayn< zw7V*Y{*f99ZoZA*2!i|!n1A6>O?Kg4j<2>4sly+cp2sWrRZi_DGEA0py@en%z1I33 z>ws~-k>*!6NngjMpv4P_%=EhtNU;K-s`yk zE&22bfTgN0g^rrvRBHMV#q<4O1n5H_hTnpjA1G#^#*F4Be555tNYYXxHS16Zz@hA& zQa>oYM(XP)u$`#h?sL&xjS$W_D9F`VInf}h-Jq4+yH|fw3zF7k(9O)&ms@4)Oj?} zy1areEVcbvRP(^U4t#Y{fdQ0y6SyNc%HB~Uxel{K7UU+s`K%1GDnM~1+qEjXu2xIGY?lmy@vEdfYxh)-_vh$z%-1=*Hj z(n&4G)CjsEb$88){04bwTfYSR|tHUR)7@tpe zs1$+>)Y!!9!m(JsX*&5OGI(G#^g-ptwdUCKr<+4{FeZ2-KZuWyN|!cClQAX1WvM<4 zzC+ub=^f^c7s=$hu&!kluLIZH)#%s*u%>lQTH{>8F++;a^1h*;sy~UC$f>F`Ho+E3 zgBo^#x?`XBRKqEyxR9B4!W=p67|6wZNiE_786y4ObQMm1U&Uu|Vp-u=PO^p0yFgzb zf^x1Qysu;`>3xhSajE(fo3tL5c&rIhQQi01y{oB# zgEXnq6J`GWKIEEhEALYPme--520;|9CgiPG`xF#d@BRLxI2mK~s{DQ009rZSt=00J zjDEMw6alG|Q+B%lg!e!2`5-$izs4Os1y)W6ra~CrFKpgcRY7v5SXoqg<5}McOckLR zh(eBr2}MJ>O~7m>h~nbSyFh>Hx-wAn2?wIk59*x!D2Iiv!}(pNH_nZjwl(J3y!KP_N9qcFI_O53npO*+*y~AFJmX$>?Ibj$wMavn9d1UUO!=Ap8 zz5y4*q;IpNl}^$+WoTcM5dAn;5XL%;ZZepjHB@?-u0Tx<;^3bmWO?HKc6pRu->clX zY*CTZIOy(LtYfit@C9eQuVh?+E>!>$bzxIktR3|Z%BqIsqjdpvUjeYc7xe9rh;PT# z$>TcMD6VjEA8=z8VVlO3{mG+OKBQLRkAt4**F2EnrOAZ#Y^)IajG4emK!VWJ>SS%_ zQ0%sYaH!RLdX^lDkxS1g?p(k;l$4Y+<|K8z2j}F^wbAqW9QZfQ%IfGUg&`*C0`|4w z;Ay0$Qj|SC4GBqL)?GAiFoCCiDY6?kiNtnxqM{iARhL|P4X~6m3ZEQCnI%5;AL(H0 z53OBF1_p4;%g3t{o_`{g>usgrT>`5GwD@M4`_QROGTX?(n0`vR&(dPwj_gyO*82A> z&LUpBlXOe#^_c34VGy6bVjghQPR?B*p!tot94 zoY^AyHx2KhinSYOAE_W0{oOtRL*MLF@Ld4>mKX!)2tdY6&&REA(Qh4=kuj{^yiZCL zB-Cbg^i3L2*@mP3EZ)w7NfCrYp5;1)^X#0OI>968TX%n9e|Lf{*yM+*STvo_8Po$_ z8z#1M7-fSjGR!$Nitq>8m?saBK~Rn>a53j)GXY3ZjBc-AOpY0+8){U!{Wr`-hQ?ET z{r2)2@1XeK-|EU;ZhwCoiHS!FC}`!)RxzftQ+*fGllMX34xCRI^W)Q^V0!1Et#9HZ zHga5he{|}J4~(r2U|nZ*q_Hxg0Z#tI6+6@JoVzxN z-c<5uq+{l{9`yS1Opa6UU}>|Db?4BitGCm~31Jv$Z-oST6auZfA`sX&`HF9J5*)g} zU^4!yZ&7dkZ$@FE`n=>oNUP_H+R%=r;IuvBfzV*4U?I(uE+$HxgzkMWdBqJNL)tCpc!Qng42?4A}tA``|K z-Tbae*-*3tw|(X);OxKo`4qkWaKP@k-zc-5`~w@ig&*Jnaz8_iy+9ho}=WCzW#>b~)$Ymmh zxJ4lXe{aktP~8R;7#RC|cyIj7eWgt7#~XC4ksjLe9FkGi9@(O)k3yFpVK*Qn8}(f8 z`KYtxMjOw-Q#jSRj{vYP_K6r6x8(h&SX>@LQOvpPGsV zYR^U4pZN5MA-m)Mi?g?mYV!T#hd~8&fT)0|2-qkssFW~4vFI2*5Gm;fi2;g$1*k|# zHyfQJH$p|}t^orj28@u{fU)trrl0R~p5OE5a~}@}Id@$5bzkw0*X#AR1%~|;z*xM^ zen*TzJ5>p$C_GCj=x;NPKkcP$`|7WY=kT(a=!yH@8RxHv8Ra7<`!wZN&8NzxDj?FJ zr}RDN^st3EnT9uO(Urgl!`m;mAx3;b1i^*pn9jFs=7U={&6u8?C7vA$N)%h1Yn}p) zuL#Gu)e}z8PIDf)QrFGJw6w_NKl6l~*9r^)1Q^!bASmMu0v02dQKR1@c;BVC)Ue90 z`T`QjS1A^el%ug#pAGc2=s`r+2wm%}SR`63pEMXb{mPliQ9+^QmgNZtsN6ghFF+%8r4(IWBa0Xz|!yG5#cvUJjiA}DvH zeSe<^6IZrrd`uwrCj z1QyImVAQq<&`J=$dGV*vWgd18nG@a{a{k`Kz30BZ&nqhzF&SOZ%%lg@roN-#GcKu z69l#mz2lK(8`RYxtO9NO_t5yb>1Kd~L1p#9+|LSiOYu;hLcREfxDtbHY0XjA_9Q~N1hDfU2gAd~SU#eT>1o9aFUEPrG2Q*tr*tmw z+FZ6)kL+0i==1(N=lJ|l{hy$h22ZR%{JPGe(yrG)P>dh`a5*#u^_(r7`%x-Rz{_iv zMsq;=-=24~Lk6~gI(I|V`+Yugt_Go0%)Ff6^rDxnq&w#@@moj6Y}0*F36)J%gR=ym zmJSh(XZ)ZucPa>}hfU?~quf^mx@zokx7z?8X-WID{!}?7q&=4keqlN8WOs zWuPEaaDtvLuNn{50{1lErJ&?(+qFn(9}9RY>#SH3-x_X#vjK3SqSOJQZbskqex@}> zNFr|4{B(rXK>(V~*0&>(E?v3pBC~ZnZ-nhiBhN2?yV?>>iz4Or?X3`db1^AovW1JC#iZGTOn>m)Hq-EZKooS+WD0-wKE zuA7`hlA8x4w^TY|RU=G+abibz-~1X&q4xTk)S!mKUwkb4)#{3>(9_xleD8psc>f0B z;rB(5!SpodL&!3%gDzY-cKz#aOs`RDojypXA7V8d-ezB_pKc`xq-;=ST4u))%Q!zB0yk)Y+QMR36L=r6 zRR0#;H@I3bzv|DCyxA=XrW3%882p@U@K;?Nt?{J-E#s(Bsk+E7ishsiIkb*VB3n*r z`FlPPM;{wMKY+Ta#FTO6ErokZ%F{I4dJJ+%e0I}gK*t+)#r~mYJ}XU+DetY?R*{}e z{KLrYsRCSRFg&^GL#nIc2W4g0QE-kT0RG!TWjkTo}_7g#RrL&$9>O%@T8a( zsV#d%?Ick)2UfFhoK6gA>e7nyKWN%;QD zkXi^C8dRYA*S6ZUx?&BGAug)$b2Xm65uKMp-_=ecip|mlF#Pe& z+`JRz)aKceTWo6@)l0y;pAIoV94_YnvRH>isWSOb-*X2@U@;FI13~i49WF>q;~AcK z`(L&EnFsDdfBZ|;iuLZ zOG!KoQ*9uTTqFterfo;{H=(bcvA+ZZD25&hMxnYqvW zkTQZ~4!PJ@07Fbr;ar{`(AU|^as4w>%8%aK?QhAR?S^_`vX+j-rD8W|m9$bGxk;1C zoJqP_FO|CsABo?5kr{chJBheqa@}taa$8>hEg7R1^Xm&cdmxeuV6;b_IO>NiIC}#p zJ*gLX7;Z(#!J{5f6cQfdXh}=jDz?`#i{5sXfPwO7+04$R-Zqp^emr@(?o1dKZ!%1ADM=0a)fhOu(dRADKy&mekEpZC6)wCWj^n8d20NtV3DIFK(f^?X^qVrvcS zFmQCPFKW^(72gb4APqZ91VKaIc3EII5d(p*x8-N=ngSWe+8a=UNcDpYnVP8`y>6!- zn$i4-zFahvvOWcrZS-?Hd8RL`6%N;3X*OeObHkT`xO(|vIqehsQT|u-T4IjtdjtC@ z+kZI{_c#G^s9t|JduqSw}FdN=vLc@Q6^+-Kzxad4#m{&G1&Igq_^QlrEU8~krfRkiS6;gTTkT6fzZ_S;^!`w5 zjo+TVXo*O1!<|yZ3Fa(I4Pm7fuakA}cT+$^inS}x^kA-Xd4k`y8mt}4f%E1ynEU-; zqcYc{Tx4$|dpB{RYKIsH_4u*NtUDwxF`Q_VE4r5_mppWW&u2j91p4DlTA`__jpqIY z3&d>kPpbghf3;zF?j^5Fy<2mehOGBuh5~v0y3d;7!qK+;g8Ga;p*G?17nTEU6?S(1 zSt9eC&pVC`MhC%9RGIe(zS~^j5lIi)ugO4cR4WhO=p6612*2fwMYYlk! zi;9l+b3f)E!P&8pBU3gJ`0!g?$u?$h*AyLUo(Bc>wCkvjBCuUw;){ddf4>lz*6GQ< zgGs#x{R3}GQr4LGuGaIr$1A^0>f^&5h=%!3*@(3fJYKC>6YxH(YB4o|ro0*ktM1)) zmpHpnPjBw|iNy=Anlr@P=>hC$q55p#r>Sucxp^qeJ8@pzy8 zZF=G17>h4NYAe@SK53}%gGWwtsq5qCzBa#nZ^)ImhM|fEi+Z+NZKigq)ItbNM4W^4 zE#O$yQLW1k+q*yE2RIn2-NDfOG?W7|?|n0xUb2CqtdtiA%nE035d(JIM^2xkr&))Y znVyVsc`h2-{)6Olk!yQAt?sqzET|d69E~<_L=|388bJn^``NHGL><>Sf;~|oa6=n$ zrFj4GBwqNMBVXD{KnfbYxlbExgt-AwZk4xPj0Nf0on98`wvxQtudjcz70c3vl~xy= z|7?F?=V)~rK_shPcDfYf&O*4@)RUnW2dRYtizJi~DJ@bt+~Aflv6C~4Sr?a#zmAGJTtg}Iyb8r$*e>yP$Isj(!9 zvK&3TcJQqtxu#pawoK}iv|uzn*YG4gKfidbRR+*>wqHn`X_mV2p)8Hv#!i4_pHQ*u zG$j4L=zD*9bQozINPGanNlEVb>#>&(GDw8eLBj8VnwYO@cA>epdXH>-O5m;?a5{cm zjQTuKzA*}KEz4a9#*7Pku>A|6oTW_9$WEHw;hi+|MF2Fk_FT3&n$v1gim+}|l zTU0UkEz>}1LB{@PpFQ;S-amlvTJ+cXHdg?c0;QQBRnPAFVJp3^5S3d?@DlR>vI(}$ z^rZ8^z*erg+!qDWg2hc2Z=YAiZ-{ggJUFxfB{wInE@ECcY4bkkvqK%Ai-Sa04IM8~ zQRnPjktjX9V@-@#IHQ$S;*pV(3=H29KI!7hnKi8{TU*JGhd~bdeNQ=XIlv+E5MTzt zWoA~=PNES9C}U{o+$1 z@YcUD;Rx#g4HGUMINUTE7bsdp)%YW&!Fx*rXL0o4u9fx zT(z5J?*@Ej)c338@B7r?3tP*Z-NzLEVN@CqfGSaTy*Ip_JXA*f0p%KXdN5IvU!bC? z$^PB@OOEHYt>-CtkkDLfVo@z7zTbA&5PtXBXn-Zjue7k$9HhTWNl+nF(ywL- z67b;I0HF2~2I5#{`y{CfO~;OWS1=E>wv~ubz?Mb-*QFg$;O-u9+g`Jvyh+_Y!h7n} zDKfB_>Zx;Hv99OmKd{QfMv)~_NFYLX>et_-2)Hwy;qrvh_tzUi;#P4`L$ZRu_xJ{I zfY{MaWqR%-2Hrx1EV_#cjt)@rx$(fpVt(-$efB!IxCs2czcucRfH!kYa$H<#ewoKt z18>Q+!~ZVepkJ`rA=SMNMpIi?=Th8gGTM<%NdEWTOdt*5fW-l)Ep%;E^<$ z>xZ>bVPiN+PlYgo?58GmKvTW?J%YM;*&C<6BpH+J22Hz~pjN#ajX_DpJdQAK)}SYa zE_{4=>r!tzV=GJJIM3O3Tg)3PI<_kKD_bM1(tY+ZWkwKcXKih;;t?Lg!eOkc+Fm_B zTJ4NfX}drgZ-3AkCOMdR@nX*7u4gv@vdNPtBqaUyzAVdq0Gg;fb4J+lnS>p{3458H zDf==Ok85LZ9M2{b?*#P)!HrH=qUJ$MjaXpWtnq^|hj2CFPOPw+VB zEbkaZF$ofWPfE0Ry!xVaj`vj(9T;U=M;CQ)3wcQ|6?^}}An4+=(lW>D%~k#bhLw2o zRkty-uq=}USIGsrxvg^tVBV9ZmLcZf6^VkSf_rmurM75KptGw9#sKQ>of|;Gw^wxZv)Wv z6D=1(^Li-StEvsqEk*7Im#zOWdEmo`0V>BxB7V;%5vAZy8nJ~^j1pCcik&NQRmD=O z!c%PM{-3*t>B2+9?Yg6-nFI+e_eI@78_GS$(r2^}Ea{x(&vZ)O5@nq4Wd1fxFXW*$=X3YQyQxX38G$6CQQ}+d_B(7z(EjRvL!n`5##A>NUp*SQ+0lN|>%6Uq z{&bZ)k6Nv(jVzbi(<=Xxt~W0f07OQ%95+pldyK)*7w_M*!O-hq8g>K-<%Jd z1(xC4iRc?UN4hSGSpco>;lwo)Llx$!MZi^|Q&hQcF^K4azT>K_s2K6VQsB5!%T}PX zoxc$mv=g^%5IAd)qqp;Xx|zv*a7Qp`U63gVU0XCJ$%Uvv&O%(pd|src|FXiYCrZ~pQt0O`~tR>?6s z+D`>Q7bAd9**q+)96XwaXA+uV;fR50o0Ou4PJ$fmuc5RroD3&xAAY%+SN+&@90`QVM$+@qkh>Iq;->kEY@(E%0{zVpdUL5dO* zQwMwQh94c((}TfA!8@Tb#`&pz_78iSuq`=j7L%b!>=3c$!0NA^PRi|Y7glCuh*$ScpEnS?V(UaG<4ZV9;Fw@gq>vnYAg2*&1p-S`uSgfC6*SMje3rJXB_p=(}s zwB04a+pFPOxM<;d;6IE)o^CmIR}PhJL1sn~@r`Q@1eZ=T!V%kGBgO(5Ge z%-v2OIiPx4`fUfRP|H*wOETm}d&cNu=eQ{P?fuqjrji&DJr1DUG`!nQl)qyJB$QqPrW^Y<6uZ2H(^yiA&WsqnEhX<>Ypw>(ImFgCL>PjYQcNiO}6Q>KCw-S$DaxkZSQP>*L zRS61Q<@GU!J5{c#qKMZ`?fKb`qt@C-#aU9a9jC3iyqOiCmKbTPf1v zib{>sMA`RGz>KQh*mb%zn}3`8`5fe6+fT<(F^<1&{cCS9)i1$U%Zh`jOI1(50TmeO z8(e5Ct&WAbjocs+EHx>!zeC48`_)MwqXNF>*aL_ssqr8O7j6J$Xt=%Kzo$(0>u<}hM6l*}#fIrCZIm&f$e@MY-p z0>TcI_9x23(lS$hP=MMiFgi8$q$zc9KyQr1JG_JHy7zR%;6;uOSlF^(PA2WF!tODmNt@B!O-W*BX9vYG%FA)I-FAGH)V!Ec46AfL3jV{0b8j>diAzCPXg0Om zo$D#4Ef$aMZY?HNVPn^y&Ua5Uu+N3$vFud2E=rQ0G1UG?zm*A6{*w ztGl$X2UamyL__VWVK1ud+dCfI1L&@HBC6cBd&~g4JD34AFVDD)%a@8#dyibq%HU)u zIYx*_CH*B|_#T$CedJrv(RNsF9tdT|s-JRC!S*$DUN_Cqldn}9h0tW^?FmqP5P`bd#Yty z3WFz|+hALb41{IU;e*-d)%rIo^wYm z@|f)-b?bq)%tOf=oi!UyBrJ9>4gPHPDD%<5LkhAEk_xi<0p?wc=NPtdvn3l-ANz+! z2Tj)e@=++_aNzQ=BZ`@sdG7@2$(LQjLeYpoh`-?=a(2lACfERYZX3ywNKZ#PU1;V4 zA?Y$K#(GGLr#x0=Hf(2F#}_l*fDAX>EN4BZ(c>bYLG+p_{yHU zyaw{Jf^xBa*J0e;z^-NZ(Q^Ek$T~I4o*;NrAn(&g5VaF(f zeM}v+9p1A*d%x2tby!|_+5Vs$*#!TiVC*Z)JWf)v_#JSvq}vH1i(NzGE7G6$8Mx1dB`Gx; z&ED-eH|}X7GRMNIlBrGhs=+^{Z;qEvRL=V>i=VkV>Cvq~ibdCd%UR4fr=k@8eC1RL z!cfC*t|-2@iY;cbuw7aA3Qbm?0%L~5lkHpZ1MreuE!w|C-hR6fm@v2-GdQHDX+2N8 zreLh-wqAgkR>ha;)jE1!wzV1g0BU16#p30qeQ#m6hC>N{ z&X4$&N#1w&X)kUs0>2$`P4h_{9)Lp7O-)TNq4|L4&0A!`y}77%)I=!Z^yAO$@<(LB zmkxfU1Fm6ymv0d`Ktx+|yx%@W3puSyya*fh2P85}sA;g+Emr_=-_?*Sw z2LhF=LHiW2U2a4;Ojv4;maxim0@UiwPi;WEMAI&e6X-qM;FDSydDN;!AL7>!B^xL? zc?~SuXABuW=#e!zdplqpvloST`)KZbd44u9=}Q*B7%WP~QgK|5+xAihTI;LJ@whDJ z^juaY#K`HRS5YOAU5fHvIj*o=<$iP8ta(*z?8!t3)90Yg2SGD&**qE9TWCl8lQ+}V zmro?jE+O@*3i0bXl`F`Cxb? z4jQ;YQJkqa{brQNemf*336?1&%WVasv(*W8*9ZeA-!UWPEfd~qP+mTHDPsTft94mLG5YFm>qqyXk29$ zgPhxB%w^`VYt+)XY-`w*;A075h9EShhwV}u866#T@#i=z?q{&y612^sZ(`!0n{K@j zwAUKs2#3Rg^Bq>Af2+L(>m2{r zFg^vLPS}mf#LPDq)4h{_Mh~nbPB?&)`w2R($ zxC@w`%%5R%zOaGFv9;|8%~d26^n4;e_A#ze*k4!TJ@b~Q9?N^nu_P*J@Aoa3KZ#f> z9x%-c#?nMs%+P@0vT|>=fX3&?m%pn$5d@2fsS{AF-)g-tcmHXP9QcNhReEGuUiFVi z7otjehX+R^JGbaX&qVD|YYIruMgdW&ShVKjOSxZkRog-yxA%PfJx>hRTqVUM8GkWD z+IOMOjdze{26VR8-#$V5**x-_eyq_hD{6bXuDMGMW~&k^B;W3IHDw(Q@95s^=r)AI zlhp?ga@?NscR87XDDj{$V;vPnJ_Snj5=x}*fY3+vr_JJ=NGH$tnU;Kf8-$Sut#{;3 z_FX^TKM3ZagwYN8FP5LPk(Ray^#O6*WQ~@nv}6?tk@^frOp#_l#y0N8@hi; z2pN5gu7dV56i6kBtbp`O4Z zb5QJ`>$gGw=Un}CMWN-u2}}~AC;sscN@c6~ed}-9((bOGyzhDz#~m*-rg+E=Vafhp z#0WAaNpa@A^<7{Q)z{xc)Z>Ov>OWens$@TUwDv=J_b!D}2%;+bMW%L%(k^1p`F3~M zrN^JxcBfRnAt(xu@6m%sg@uLs5cq!j-S9n(*4DF_W;i)MWU+rF{_+lJ4mdU#Qxhzk zAT71eY>w14KW1Oj&NG0+ms$2-nW(ErK-JUDoqwFxlZ{mu+G|&EImN#y*K$WYC`Hbz z4Q!hbGfaAV6Ac$carr$NcA!f$V2{&#ZAyuoE>PTSolr3mql(GC=tA7#xHqXXZW)BxpxxY{G5umQ z_@*r&AeCwEM`_~5Djl4JVnvKTvCDe2{4;cecL0Z#wJrV#L6$q&!rI!f_jFhisN6&U zVf3tQ*UA|xZN0}g2(pn;R)-?(O%$$yJh>FohaBe-9UYb=lStk{ zd=^0()YJM^VX)k6(#8Mi$*S?SkxZg&QZ2zk^-TzKIuLeM&aCJV#K}ogjqT1c;axKLzZC$R-0j2a5BshY1KvjEI zedmz`0l&G_;+|nCUud&>dWN6(TzImv@#Mh3Opqcs;4@4@x{O)Hu@mXb?xlqECxw7d2THsg4&hnz(>1a ztOQ6PmF|jTwlknX&c&U3ib*?+xmB)j0!}&3k*2NIj{R+i;j;@1;|n4TMOPapDy~fp zOIm?Ha;0&(;(Nfrppy5RNnzjtr~ZglAh{F&Pb^XMJM=E{yvd`6{P(o-Zft)P7hnG zsxie_ROV`M98?#zjav(tUa%-hsJo{S^y3(J(%;jkjOlUbvhl|21=Stw(3UCP^R|Z5 zrvXAR?8|hjh&IdLv*<91FA^Wv@^7~EH)~1xT=PE_95ye?aF8kq^i>y;9 z2>xXaH~S8lz6p9@xCYla%Y0m$o@=_8YnnH@8luk7xL5YnD4$i4*U`-*6WHjy5(1#_ zO|5I%M_7|@ndLpA2WIEKtfVL|xlP+>x?nkEf42a8tpmC%Z#qbBpdPHU-#L+AP*5U- zX7o4>J_QRGMC4s){HsKe_!L|6W}N?4brg6lKg&EB;#>71iq)|pL&Jl{nespf)PqlT z_=T)c&?xA(M$@6*(cctTewlz~!10WVEkWN9FH>JKI4xlib2?b|+J9$d&n_lUC=5;Z zT7!(3ovXyke#$U@=k6bigL4;Ri|7Is@h3$MRtbxhs(cg742JQ{%;9@E*bSrakv0G6 zB7A<;KS(CZD?>r)y8DFHy~_MJBaxHVXXNM3{&$BHqLzBx^gxlR{H9OfHW~Uiszbl` zCq`-pZqyRw65hp@Y>=UI7he8do1%xH63_UOC%j1kiHrVSG?wd#?-Jpv#(Py579fBHiQUEAD1Un?qL{H7(4|JSAM0XPzt}Fwm zRNy`%L$&t;{^g7G^9Sc3|2;3qzDrLC^nruHnoHAbMh_+>dJHG{QNPZ&OZ11_bc*L_ zkZAqN_V+%Iu;V%Xb_YS0Ck#pWdiJi$zmqS5qTp*TjP$y@^wSs^)Q(sP&iyA%4*vW9 zL)Hjf^?#{rTyIH|l>FqKIC|%{^)<4WWK7jPNvDO18c`>3Cacn=6K;t{z9LUcpMA}+ zKAw+!Z=66mh3P=B(;IVAY5r{H2i<8KpnmqN<>E=r_alv3LcGBzfFOPFj>dJHQ_qI< zR0_-LJA{PW3NGl+9o4uzuRL1|rg)l68f`;U88GjCAeQSTW;;2dFD7#9uSE36walBv@22Ims{YwwK2zSB>|^u7BFv+S*lLTwJ79QRhq? zH@r*&2#>&;(m1ZvBm1s-VX?J~tuG2}Fi%cYyn-uq^4dRDvuu5@nyo`xSMA2N*O`?B z?e5|!{e26i4~SF*!n>(!^kWN)=!qj{Ay86NkdwUkq>a3D%|wPaAOkQIU3uAM#HIOu z+jk+(q>#8%j>U+%D3n zBNwi2=7s{TFNS#dq2%(1O19k$?R2*y=W(l!h()U!K*jE_=OsgZhPsmFr54&(J(O$> zY;%(py_#2i+vWEb=yS@H4_s??bw#-glU3<+nLayoGcA#ZMqllPGWB6bHjSS3dwr~= zzIWZDMR6(U1+6=%<#(z3taYO`bV(hCRFAiZZ=jqOh9`>cjy+2s$FMXag71GmKlJ z6xwsL$D#5HDtzjf5X=nmsr36l3HW;A5q(|;FZ9tPn86E#<%LoyF~T_3C90DP9;d7U zmsXme0Y%F_DJ-<<_R;=WQFDvc=VXL|7{L=wZfh4G%jAF(um&Z@1_qko%Yt?>7rN7Rdz?Un`IrR!1!H z)JTC0uHDT2KRiQywO@@*;>H~NXDHLt)7s<*dS1TS1QOWe%h0knZg{G=a4@*emQLEn zUix(LmL!lG0?+eYhzCKwMo-gv*U4SVu4B%EoY#a$!pkmF)jP$Jb}u5~IMnb6nAmUA zJYt`{f&E>rpN#1!5@xC){l7!HXu`)lN!`(DB90?Wl-`z>+RKwxdU@oq7Vv(m|sBV=jASXvN~9 zJ$i7&Goo5LDt0(%^<(&VJ&(2)JWbHy*|U;F@A0QGF)(HZ`W7v#D#Jy;x$IdJi}O0g zKQ?T;4O_EGL_5JqzEW#p{jP^SNb9YJh6%+PwJV%V-Tj&8)pIpR!y*#dK?B2pMhiG3 zSUi2a$KL#Yu>6Ttu0&#cc;jL#j)eTzdfKxRy9rx zJyz?NXh;7ndY4Z8gdXBkVeS-r@h9?W`zriXzPJ8-kTq&?LGpxz{Y*? z-+op-Ct_6F5f&a^SpNG{XV%!5T+oC^1piVt$s79m>acVOo^xD zds};XQk1lagIr+^yge zL-WcURtw#)?Q3hxF)Pn*g%ZpK57H_#7Uw?WP~(b+S4~uxP6Y90PikE2u5@l)<@Bku z*F4^tl#5Ak!t!jMiBR96GM~E#rVs-lMPy2pZ9vpc6&EHZD%m!(Bs&F``4#z3t{)W; z301N!W(6goJ|L^UTw_UII5%46&EvkX>pw9x+PgxIdf7UdKU~w(8_*-`VcIi_pBHRP zmG{5JdG6@;d}g}EM~*fCfjpKRQKFlkv73Ri4!-&f79YbKc zYMdx~?we?pOrP8`y<&p%{P?KU&?+hFR;W|0z)i7-@EZGw8s0?Ho&{wMrgDh=-7)M5 z=42|BN^|2I!45-nJpH~J$BEn|mkDjxLd>Na8Wd>menIxn3=xPB*1#pvvRhBRRvbb< z_NUKh*VVOS1;)mgbfc7_Y_)Zx{hjPn2aI$*%CCuCyGan4t)q{!wvhhbOY+fEnSt`OdnUhU7Hgz>ekh+3pcyaU6HYZ`H z7}lC9d_})sZQb&lR%{$~ha+e$9v;-9kNZ{i(~mZqOPmEuGTd3-_t*2@4N;@A4ipD9&MQIo$g(Rd>m8wH^&L@@(Djmva|n0#liA7wx9)9Q4d^i5=)wlCyDiRf*UX0g@J8(r+Oif`K-Mv4X%3VKR zyOkJF_iC^8&$5fc6Y<;R3jE_gsewD#-4{l@x8MeSJKT3LyKSl@P-<-yjosNg(p}tR zusYj0>{2SQj~4JM?u_TS@a`JPbSaQV_}RMr02(l!;=35GB3?WteNq^`zbTwrG3YQf z`lWJ-t#JUjkzj~c&poRlw8iAZKcG8F%M(sgO2gSp173i+csKO!8Hvw${|!R#UGG25 zJKDJm{>dqtO%E+~ql*s-XP;OlOyA9nUC8%yqJ~8@4X?-z72;)tfV9_ku&7b(z?IAv zI2JV+xJF$atMRZ!5M=maC&yIESNArg;U(ph`kLp*WdjJotba%&vJx;X$4m{T-!XKkQP|3&c!zul(*)jvcA*i3!1b9wIz^Kc=vQ^La?DnfkHC&C z*=*Db1Yt>qhaPk4%?a&|*UiJ^5sNd`^BURr$AdUYGn`SQ>?SVj+|`M<%v~6+{8RXB zyqTMx-m71&r2~5>#qGIR>zQ1;@|5dpGSvUOrf#>u?JO-_RWFZFyn~UWn5eA&xA<60 z>dad`p^3>No>a6gd=2*Yo!Ha>sjY}-`MZ7m)He+VK=@$)Bs3>VmJ|BetCIC0ewGxbu>3DUjl z+m3VES&zBQk}Py$SO)=nF7!kpSyvtY)EeyvNB1gzQIO3>0LpmqH`=%Q0=DY{4mh>nwr7F{lTy^xfQ4TFXl))@{if@2``% zD~5t*qxRk7IQIVt(26>9I9sDY{rNUnzSGv1$}0OUW0P_l#Idinjg%VOK&!iAPk7Hj zUK*N(5Y7IKM2b*o-DlkcWMa{c%XjzBVYM@S-x=-RBX9qClVhmFCeWwI4zs&K*IzY}l zL-{$=4(irXym&VS)vc?j6%#EOxwBm85`^9lR-#D8@kgWHVSk&&O&mp*a^|I*6h(evcD0Y>YaPsWD)3|DK z2+DnHFYf{2E=Qo{fVEGmiRUDD1rN52u~NgEqRyo{MgzTi>MHmx@LJ1p^g0i1=}+E;S}usJv^n~llk^BF(Pvl56fz0B zop1zo#MGXPu~C6Cu+*N5=B9_&R!RYBvia-eGZP3T#(K&d`;EsM zC|w;xhlb&E`JQ?zriFQ4N8P08$GKj2b_kSFm~>Y*+qzc6rXH>7a;q(JL3Y& z8&=H`B~#ruB_6f^@b{}-f7xY;S=16`|9&VrVTf@j24q^dcJ+d~m2WxMP8ytAtn~=d zs643k19|>ow$2Zvg`B|ln&!5ae?6nFeN@^!H0y(IOttY_vxnOjFAw|}Pt(<%;AWfe zUyuV5j{t3lcEVdoPXxT*RC(kydu4b@Rf&PT+6se!97kdESHEX5mm{r9tC6gSMCp?h6DhVPbDh)x+l(APzTQ zJ#5i)zjoNP(yudq1CLn6?X7V$X=NbNAXTZmgl>vNh1LgNu?Re6jG&kc`N(yJoAqo+ ztJV@4?@5_4$52WTtG(d`T*mqVM8foS^o~o=?tH-OY=r*%mvuf3^X8+XXiOJvDTo&3 zeRJF$x3stJxP=qBuOI_kMh?%k?zik;w?AEn+UMVodqAaiX3sCByF{5WQ&-5;_=!KY z(j&{x!uMlBSKa38Hnx05_qPQ05hPDMrm;c)=0M(Ol$m-((31S*a@?mV9#>SEZgD4x z)cc}9D6q9I_2a{Y23mv<1+fmcr2vkOj~^=rhlVH;3V7g2Z~HUmQIPX6DzA=z7#h3Lkg44JCtzKAKUGa-xh-S9rc;4`>-h50LMcy5&=vn$ zAsV+PH%(!P?NgM)J9N5*9|>ZR!~s!)VNky z7<>AUL3dOWi*JNtA>&sdI6d~fTm#hB}~Gs}7#V$ZFyQa?-5Ryzf79Pp*i`otQdR*IM+h1YS0_uSDk^V#LNrq?;WJgWA@$}{c5!2}yC>&0o zmE7Lyu|jiP0mwzkxC2Sb+&;z{AbtW<6oJI`q(Fm)3_MP<%XLQ{mE-O~^2`k_XEP;Z zf^s?Jq(1|856N91n!Y4B7k@scinvh8gtjdg@SG&cVZ{aQz0w*Daim1=-6=7k#geAp zaFcsIGzu-w>lta5Q`l2d^y-coLZTADXuq6vunp--NqN~|z^bi!XlpQu;1()+F+gTv zebKRJ)a@s^4fZX!=)#H9lr!vcEy8-D_bHE^c-GCyyTKOoh3L4mo{CUAiY3tk` zd&IdY?|^)BQ=l2*g23*tAPBiz;Z`6-oWK=u) zH(Jafat_0ifg5PQj&9au%x&g}b#XU13f;7MgxP(AlGGZsp8iVI>SJ;?{+_6+i&RB= zw`Z4V3j*`v(U|I3hqiQaYO9pQp!A~9pkT(zl?=BK?=2D|A^jQgfD z{sg5hKxf&HyAbrWuE@jHH7%>%-e||Fc`ngs{MP}TMcsh6+kk`4G-@|QsAM2mxKc;! zT^KBXxYo7wr+CzG#pY9lW%SRldFhWcv~(yzl4Q-6pQwT{gF#fpT^W)5o~`-(tHmW_ zYVTg@5CUV)%p5o+@V~c%$m)uf=y@e6Cun7}URzpRD)e}nRxT!KK6_}FWJx+R=EKGbLXTs%<`sG#@lS>QKk7SqoEk|ptQCZMl7Tcs-)g#*q{yaF{+ z9{+4f+HsS+$UY)XCeyVi;VdUce4Xkjc-r%OTX~}2ASlGs2FH@9&)bBB0`Q$WNI|Nz=R$2X=$$ggJ zYLh-3onpS_&9&tXJEqY8=}oB;NlklptqxBq-up}fVM$@{nKdPOcS5k27xzlS?zj|m z-GtyJwyn3l(?uSKE(RPy3+#HJbX5A=9i%AsWwB!BE0pT6!CrgbVOy^V$q~C3;OMn4vObSX9Gwk^f#}V(lXl^Fb~z z^?+{n<;?~SPz_8HHJ9`VbwI&yrYF9?(o-(Ts8S%~MC$l4?oiK~=z-Qu+`Cyl?6(OI z?L}*kPErYv=*{8Aw4XY8vAo1EJveW>h>yPbPs114-7bC`CXSK=q;pw|4`9)^ZfUG+ zNuQqP+5!XGJ|6(K6P+hPR8U}JwHHG(t9w3O&r!7zqAH8n{hYw6IB1~1n($4uu*vKD zcgz+4JqAEoNvg0bX`rS2fTM~o&&B9&pF7w{{FfYZ?bHf(pKg|=kkI^xn?D~Bl76Qx zkt@2tj_K=XO5&9^cTsiP$$F^~nq}OaEZ<|jyc>amPFs1_KA9tYJPpdvJonpNYr3BM zz|!(=D)P|lFZJ+6k93@FJhx7sTuhoSS{lT#ZY$0RdTYiW*uM9ImKX@NI)L9poTyz| z`N@=w9GIP5tz9XB&c&S2(8l`C7b>|J#fhv0TE_)N*&qHiCQ(td!3~k?PEuSzC!-s> zI2s|q=}hkqQn$xC>}!V6B~y2ziIu6sLbkq~27DiU8*86~mWB)&paTRNGWEvd_~=biWh+OIX@@!dVrt>HB}G zrZ09%obq%(}Isjxx$9;|QW6U}pdUk)m`3 z6_GZA6lqaWBPAdt)Btg8G$DgXCkaRs5F!EzHK<4v2%(oiA_NElLJKVkNxmn}Iq#qM z`mXQi`OZ1>^9ei8-t6qX*1GS#*1frtW=67x*q4%a?~e97{d~i2=dOceoR=3kpG^~4 z;-Om4H~d;u2ta}Q-HP?$UZc=2ZZ~-^Qrr%$)rGH_gDWJ$He2{!Rw%o1?}#pY%exXv z8j*Vz3XHkor#)z?z5F$`8h^V|P=4g!SompPwiZCSvop3^sn}vw1o%;C1S8v*6Qcnw zGh3%*z6W4kT+xxUYPcl>Lz;lJ!Br&Z*{7Dem6O~;$8XE8PTE(<8U=o}FL4XfnK^sz z=j%HjazhbeQuhk^R|E9+*qA36&0n|uvi5#<{q0T5300L#eXPQwAbg?x`^$Gw`+U%0##IhtHyu0Q~28UI3q~F$q3Z7MPHP; zr5@V0Gh$@d`F0H=3d{;kC=7KB3#HupzkSu&3m!D(Cx=g-ZHDQxD)bE9#%z|YF zlM5-^&RzH$(mHeZ$V~4+^DbvapL&*+eAP5hD3}xi1z=1$!kFFyi@ElAllm6!^}DX8bwzx3XnNT$5Wo3}(8W_Gc^U>)G#ykl&i+Z>8sI6z}^K-ADnlI;e-oLvB zaY#w-k}n@zue(=LVm_w6_4?+vWFKZFv2hXVPowDn!=^Il} zfi{dcvqI_>pY0ym1D2Sl&819%RYIYF+HtFhe~obb(6=oqEH{$XL^&kw0GBn!`9-Vaj!>HMOqqe z_3t7oiwq3{SFf*EuouGjQ*q8d^*P_Cu3fWP;KK&2u)6Bg5UC_7_wD34-=SGBI#aJ`Vp&7!g(3U z6ayA|ksrmI^ly>+MOV*zL%C~2LS7gzBo zw&|cpjK~K+@v^z->Ux>slC?)2T4SAvZgz_~H`xLF0z*};k-E0sKqMa<=N4L;WxFHb zmSRCxuf%PCO3j)KzpIflxDo>0Gm9Vn&>0EKQC{m&?U)PvOdnQ%mUza7Y5XyHz#f@V zeVGwWZwYHH^fcUQlk=?qyLLF4`Lv;pI&ER|39-6#9Q=N1BzTIcYrMC{t>)S?XW|WqUM2}w`fA@Nx>@F6uBThF9R0NrY_C;5;q-&aa!A4 z#&e3!f`b8-CkV?#hK zYt^<*{Ka4>rc(6U0My#8b=_OcB1^lNacD`v@iGa)DB{6}a_ydlNJ2f`Ag~=8G*q)! z26{&E(jcClOyO&;!Wg8@Ua1%_+h420nv~?P%r4IaRs1P1M9i8REj1U$|NHV4AraCE*`{KF)$c-%havf~s>Ht>e##c9*KWjZ&PpKPsvnxdck3 z{H!be*Z7rDE)St$S%o{Ql4zAzIuE^bRyO#nYZPA%711bLmAU#SM3IEi8PA|@zypSy zX`BdJY<}In>3u~&3c&OcyL*K-%bpf}n5c!sg^UHdh%7$yuE%oxRr1KRO+VO{dS$hc z{M+)CdlzNkv-m!`&DCvtR4NN0*+si)%L_c0pSiLdyf0BWQhNZmudTy>B}$0C%196* z5kYbp8{rC@{6=$q_#b`YJi~kDLCo8zVPZ$LfGnQS%WY(B3Gq_Kn*o@%jV#OTNwcc`Kw#_3*40!bHBBE&%U=F zon&&_^%6DcprM{7e3_S95u*kTu%a~6LfLC!xBKHhgoPmAJJsugr{TFV2*s7tiW9P^ zG)g18>4rn~F~xAXUeA6pxzJPE-b1T@$}6C4b<3yfSurQKdCDty_D@dUkAK3XlLT_- z$G#K&r@jTR6r!d|=EP5zoa0Z;HAF?XMaNRw6IZL#F;sB<(GKN{y@S-vq2TyT>4(tM zv=4r^TG}n~Vsh~TGNr^hwWbAB#QcE}Ih$jai|+W<#qmGZ{A^BHCcy4bewztrxNc0o zYcQF7e&T1e%KbWS^ypG`w&NqFMQes%o_n!*f(8_aoYtd-3g=U~_t@Dx7N-al_PQFq zu)xT+{$VvhA5>HTS0?-4?dNhHZEFL!+Gh(Dd`XBBgd$0pk;QJizYQznf zE&40^=XaUZyl3FLWb11rb#4E!0z*CK4QSZ{Wpc zvppye7wecz34<-i`QW8-FGEs^-OQ*XpXh32rhJiBdmbL~NxyIO<_i)_PcF(-9(n#r z29`W*+@l=@4F71Ov z0f8=9^&=Ris#)JiS?$Y31#r@G#g7}jT&*@MmJ+rJIjGWVS6yg4y`3up8y zUn&jEmqBU}R~GqJVRL+UiJqd#a0D&Zi(lQtTJhNGr1AJ$mC33#++!Y7zDJOoH2%gi zwH9%25rLTK5=4RallGe6W4Gb!8qHuOj7`lQDxA#V;VYv+utKv*Gp`0E+ z^tg#eg;I9;i%}TOWVt`824C8+w6(#uj~@wn15gx&&C^wL7}j7oB`(7^T7{C1uo53U z57V2p1_x`eFH&I3u#A063-2(FVH3UJ7$BvgsYtU3iz&dS7pVL`H{eTB){&44z7Vmz z0(K4al~#RaZ~boHR~cNxSs;*5QNH>rfi2E!6kf}12`q{}uDuhhfDP4c$W*yXI&C@B zmWW?7Ty3R0Wd50Yf-xoi>6C{u7i#y$TuscrB&MvaOur|louov~WqbtkAiDgZu39xU z$&*=$@s3>Q2BExLm{EARIjpsAfo_g$o=RXGgK8LttORH31*zuu49pi6&M+6^OJ~Ci zs;?)&ST%b&?)iUh4$<}0-0+ERDfZFSpDSg)G%RI+JB!15>7B}d6%?>{<}kZ3UDsXl z-UIu8g2lRdSlJ%4#OAE7ERCCRRG(LzJJD&*b%E!0HSy#XO8fzv!daOEzezGwQ&cS| zS=aKAt7QZ)c&ki?=kB2@mgc7vSfjr|BHa$v{?#B%TGjq3b4`$PH2tmq?07&V(V89&;U?31hE)9dH{H+37#!V1f48e9?XWp=7VS2HYXe+)T%=Id?LgA z1|=Snz~M+etC&n?^fZIGR5@#A!!=t>x^SGh)?B>2p3zXH3AZ;oZREds3BFNx6uY^m zwiDQyH?xhq}lG%PWv}O8R z$31tM{5%;7gfy3VJ3I9RNlK?&KzoZo%YluBc1$^nTgi(((AQr@SV z%d^WAFyH9c%x|j4bvb0irnQ&K>XHmxF^Taf9LpcNx1ul<=kZY<@?e25-wq`F&T8 zb`1iTI%FU4xd)Iv(Fa=gwUp(EsfF+r4EY($!%F@>qhYMZ&x^#3KlS6~bPg>FX5)s~ zq>f<|1T9<{C7dzh`JUw8?+yGJl+|Cy9+1(Q8GYa5Ng7Tms`x0`)8kklYB~C|N9Cg< z%w~?wWP1WIj2zWmCyUzQJeB1gc6~=3`!_is2W@yYbt6yrXL%bdSe`4d=WcOe{nky_ z*w!sQdqbECPg%gtvS6t(0}W&X9Im-&t_p6o<$n!a>S)^_Xurz$P9fywvUYix2aUvZ zcc5;g;HnQ<%dc)3saV3uRB8fJcZlK~H~XO8IjU#xMx`A=OPMQH)bN+Xw6n}ynP2a~ z#fW*b6i#0Da0n97{2By$bXpPKIraXNjEVt%_0YB_(<=n!y~R+RA(-E{HBU~{-zPh& z2TQ&oB}*9dhwOtf6=0ov(Fa15*UL_d(dUOh>yJ=IR`4&0dF`;DEp{(9N0JgbWtqjz zg^4XI*xK^+SS_!CmQS;lI>Z54-D2#j#9r4Ux{wo$Z(ASbWVE5N1`VO~n85<*F@yfF z-DuFIV&=?z)xv3Q`TRP|s@^FKhzv{>Ff~n#qUD^;+ghsNkYFtd{nh*Wg1&-@XwS3G z_!HAgB@-5ecp;}@vw_|TCcakd=Nt<{-haqjAB@;ooB~8P1Dv;%jc8Ih{zSp@NU>4e z#(G`I7)>Yx-a=RTw&eH;<6Bntbj?+-tv67cUr+nYsjOjzAMZ8}c$VVuTo{+X4McVl zP?0Nf!OQ}+TU|GUT-m!A66PZ|{296)J)s5j3n;7lxz+Sp+4%5HGEqO!V57b+R0HaO zGu2f)-}H&y2%-04`6aQGjyYbHt=}CQM(G`;zQ^Iw|41>Y&uZaIVc@a}#OEd>xcRNH%0Qo@LPB|;~7+G5m#>rnbC zE(1T=vJ0e{LT;-&S~@XpZWOMH5q1YnuLhc;j~$}{t4% zYDQuBvF2`Advl+mDlOn>=QqNbpYOgzk2S_zEi#z^Yv2iV5-Qo6LY$C=j4Ci%<^*#S z!SCki5e(XvFlDO-IaL(a-R*82u{BYhi4#ub)qPndf8JO*xG{_hfv<+mQ+QTe=msA6 zsz%*PkM+t8lIBBm<P)Tr<=@vles?_c!wwT1-dC;WoZNoo-;HwgHfLoLXY zhW4FJ#-mRJ{6)cSOkz6VTwAz%Gl1M~$BWK*Xsl^VkXxNW7?6i@VSYX2Nz;v)`=lPv zZ^M*k9yfUkcE)IJ80S*=I|SesILU7%brGSV?yQP5G(T6a^4X>r6E1qDV} z;Is)ULX&oec$bbJs+dZinVlt3z5}mmA>WbuwRm}~Ve=vJ{X2Y#V6~7A}F+E8WA!( zHzy7{7*B4?bd}TX1rGtdI?kBkfD0YBuDPgimDK6%Q+o=Y|0!sF^p4a%#(rJ-5G9`m zHc=T5r-f3+IA7kjMMn><(IG2yp4l4Mg4=PDmwE2}btaIQ%*4b4oD=yKHsxook}71k zV8D*uA|gUn!+&EZuuzk1GX#RCDvlN_x>I8$*7oovNm2)OG=2BGa=@B^J}j;5A!&K- zcp_s8Og(XPik1-_Z8vWYB+A{2>y!^3c<2<6*4%7KQ7zT9AZ6+v2JC)k6^|-=69pwu zlL)QIb#ZX*^r9KVI)51~7#AL*2}y*BG|vudGe-4~8w7Mg$s#+!{%w9zW~IuE*+?ly zRf^jOAs$h7C?!r)@-qe&Da+U0K8HLO*7{`~F>{*IF*H1gTHLy?**N};H^HOv?WuS} zN-uWPSbuA%*AMmMV6);-cA}1XnZIYK67H)-va0KT^BTl#C`D4*mR$UT1UDm9!%S}C z)@1NscStP0pW9Fc%%HaS$dRD2@{>R$CoT;}E`36jRmSA8wKU;p8c@S4mNQ=3lO;U) zQ?j3R491eX&RM4X)Nc&Ipq?RM`aWJ>sP*;rR8(|y^p;^ybvEGk^u(CC<>eZ>MVqz! z&n?9|@J3P11vwP3a^Cc5s5%(%EvnZ@r(Tf8b)J*<%3Nr9hUz=4o3g>s&|j>9@bUnA z5DSU4Y6(Nv-m_eMqoWUG9A+0G#bchCmlg=1*L0??~EB!&a(h$2RZ#oHtWrejqLI4lpO3CPNKWJa|TbIWYCa&$E|*A z0kmVVsDExnWzHk-VLi9_LrnlhHlLUCA@yS&iF&_v7iwW#KY90UBv4|IK9u_TCje$ul> z25B0mU^|(adZ_(EoVBG@^JL%s2-ncGh_R?Y?YvfQr@|6^92!OfS1SC^mz+U&y||({ zl5fQJ2IjOlrr;Upfk96iFu@4Mw?T)pkBE4bhc3;>NU9b{pP)u~ZJdTgo{=vBW`k&S z%wLqarD8F2-_2&y0s<%UiZ4uTmYMj?&twO4^01Q{$Gs?d87d{$GQDOjAd&g3l@xR5 zx)z3vZf_v3-I#$uP`~Be^q_>WTslKLuP_RO$2p5F-Hl?Uzn~k|s{!otN$G;2sFMEkZFhF3BV*3tvIDFnEcZ=&%-Q$&jt&N^j1*Dk3Yhsb~EG6ii> zt8S`Kv$=xKZ2UGTc@aFi_RLdX26rnv1W^9x-jV~HO&RcR(4zojg@9scf`CeBILuoY zC;?2VUz?B^IMzJFa!q%?e?(Rm-9HmWDlJvgCT(psnUC?@Zhuo#7*8`cE zOv=@DbqZ zxHuU?^GnM$+I1|xtDx+@Sy$8GnnQLurX}eFMv;@`c7g!UHY5>8gcj zC?z*$a)IlCCImxCTHtu_rpheMr-ON<4Ce3Z<13a(zV;r-j?pay=Y zxtoxjBOezj7osEzBY+|a(5HJna(@(5?A#jaewI?VFhE(1wgjMLzt@GZ@09$cti%Hc z*zuWWhB7etDc`%e!PeHtnYw<=DSbtoeBeIKehMY1smZXwS{D2Prl+=HB^A~ixCSP! zvw^-onOHa1+j$fDB%WxI`8>zt@lP^dNTK_no1?>FwOnrx#A>q&;cNQba}rZhSHX5h z|5tVr{u?SDgM!)p?rP7toqCcHiK}{{A4wwSu?0qS%u(GzmzA1|5v{BJGUI51TPz_W z06T}T5(vv=FE07a zBNow*`oR3j;b30p*s`hcySym^VQT2bb_#6Z-kawxZ%mkW37SshkQ0U0&7uG+ERVpN zosU^WGMuHs8(-M8u9Q7_Y;F07c`hMSepKi)A2EfSkjB-eBFCt1o$gx1W!hHbmUL6U z;Nx{R!FN$_xl7O{^lzJ6q%Av+66oCkxDxmDOxQ_dQgDuX` z2M;fAAX)-|whI?=&2;7JWkvsmhI#FkQ?BGhRel;yQ-V2>2XExQfIr*fNuSCS|5Ft5 z-D}5F-r~3h;o5+Zl&i;(uXxVKS#IqA?R9pie%vkJa<0*@U6ZB{=z(bn= zyQw@Fi0R+nRFuqL1}fBAcGy}sr)$ZS{)|@i-?tAFgVhJ(=RIrw&c4+ezD8Ia05Dc4 z3>F(A1WPDx zsG1uFB1jWPxUmB0F+IS6Hfm*++o~f6I%_p%5BE>puUqJ>8ws2Gl&NYN=o^EappG!c5-d;V%R7QhB&jp>`Ynh*cVl9 zu(U)9yW2Iz@FLlboX0jJx4>IB*A5Bv1yHSrJTc@dmeJBPHkRlc4YsLw`IxJRQ#A5;7G4afzb%oQ z>4Ly9@`v|=4i>BiT?SiQf9f;_Oo-w_fIV1Up10{cnH0;cYaO;3&BS10va@?blITlI z)fd5Wr(8jAu0boO$lsZ%#ZbcN;Y8a+buFF4zJiscSe*6o%AE4zP;XZq|9F&Z)daNn zv_a6+yC9@ydr`j^y%ex0;_f-iTM`YhHlenTx*YRnE{o}L7^&N!!B6YL8U;1+I3h|= zL}lnqx~X;zrr8dL{UWW}A(V;Lw8p0cdOwxk9=@3dLGG&VKYgEmBT#KMP5Wdi8b0$& zrl!rz7661+V#sO6)XMD-0Zegz`Vm2GT1uBd^*4=wsaQqYhc-pIAe&}fH@v%)r88u7 z2b;z=7T#^2`lf8m`1OIjg_7dEaZD{{^I|-SOFSwUHd$D;wq8p&Z&)MHg`5K9 zZ!IX<7$7cpUFL=IlCSwL_G|(;(%O9vPl3Gy1Z!3{*ex}iev}b^{dyN?gtH;RAHTYZ zH(Cm&7Gdlk5xH#Frq4IDmNDh4I!O0+OSsn$|@Vo4IK>`?AX%_oOZdfH^5N2^gPx_oJhghab!@Yco)~* zJM6?hS<&*AQ+%un#%l^)K^G2W!xBOPBQ_=O{c;z?Uc8i6Re8jDHiEYREMFXV6c@fC zt{%4Fohc(1ik#!ZsYDE^!va8mBZ=FA`#YUVh7O_(IMG#eR9SWS^!*5<4E$(%%M_5# z0B-7tq6xV208KM;h8WQ}y+yNivG`N7UO!;g@f8Z?;C>dlRjPC*|5CLNf7-F!$K<_h zt@>;NX(4R0tUwJjp4P>G&+d8qpxyo}-g)txw4{nF@x+;;me;DrHIMH;lnMVL+Zm4(AXgyE?XUzzT_zMt{G#w3P>T8zGo?Okx5fp?% zqfzgXeA~nKKC?y)4wZO%dMb%En}|^}bWF;R?AYN|{Krs+38T{IH{axJr4RY#mrP06 zcGT&TQ~0%@KKZ_Eg+w6L;jZnKT}Bteep30$L67q*0)u`%=Q zKGy&f1|t7eQ3UZnFAI@0R=5;zEU0|jWx zZu0h?v`mVTeE8`X*3D>= zIH&5jdomB~XS{r2^<=vWu#)U0-beKpbH_@p)Sm;%s9A-{@PMi1rTAK4&FMF{C`>GM zC;CO)*SvO3?dvd%!EU;$!3Z6p?pwNRM(OEIIOzd*a9_KGJnKA?;Q))tcynFU+d&Ic zgy|KBNhu6dhOrzSUH1j%>8WdKm3`oQW5NkYPj|OlT>REYT!DgVSE*`s)OpS~0DvCs z=(s>;m3d|XigyQXenfL1Nh{I&K%f|fAN3BPCee%l83_|2CQBylG4o z)YfpXUpFxjC)<5yYKi|VbQJZn`}{hNKxvI>-wMGTip;GFVO6a_Y&zR^!YY-U#(KWf0ehJxzJGG$)@_@hO zRtL!F0e`yWp4n~Y8nL;OHZ*6^wljgT9#t(8{(1DAY~~t|m5UuuD9qyYjAG=`KQtMp zt$|K}Iga%cKh?=v`p?E1x`pj!O3jwm)?%GOXHD-H1Gm?MKu7LgRR}Oku$^`}6yjs4 zD(cSUJ@9>7LFsh^7BRby|eqURlm{? z^opk9Q>W!ju482@Cl2Qu_mD?7irXBPG4b14P5rUu{s3hs-UDp&8`G6ZzVbcBdb2~| z0${4u>a=gYAOV~!Fm*c5tzuH}X@i=->3Jo<)w4TC9Qn`3 zxqpB3C?}K+4we2`R{#TYa3`ft)QeLFx$W(pjK5#v^+Q$m$(R3$=0+dbOBIBx6_q>1 zk99#)T|{$w?PqjfUWsLl^Y8y!=K#|B=#!BR^8D}cNQ=us-L(+2jPExebhmh$4S>HqlD0&+>#P(c2cnw}YNAZGe(`Ub4l^QwdB z9p{kAGdEKtC$vjg@stZ2KXs~qsMF|zq&q`?SbNQDuGy-^yxM#8^aYVIA|KtMtji9| zuV%6E0kXjNv-aalZ3(6ew=pfty>!3TK1aEZt{p+Du?6z;xaM!7F0%aW;pZWWWP{+r z^OPY*HXcyY7{{+oi+crvw27ZgduEjWBrdseg2DgVAU$=dLB~my6iJQ*k9`^`%EA?Y$!-meP ziMGW54yX5D>#_fFx&OG_|MKYZAD8=&%l*gY{^N50cR2iiT<-sJmwQYU+ur!EC3FT4 z|M5;`u7(}FA`m>nOS{RuGEr!rSc(=`H&hoP3()8&08;H@GijULfk${FL2necUR@I4 z3;sreJAc(x94H+#2{~m=Z8#C=;~VyXQ9AZ)`HPnckf{4Z7Wj?HOm478Mu_FfvhssE zkOm{sYrh?X+tiH|k#ZBrw_`KQX+K&%_*K_qcbvC7!Sx5I2{Tquc~D9jf;xz(l1F?0 z{jmT8oyQl8Fha#a03ipI{OeKf-ygLRGKjdpaYhM{GI8^R<&Rz}ccahl!598`34UEP zHqh^x{~cMg|2KdrG)FjJad!RyS{Z%W_AgFoWF)uh#cRgEr05h=^9sP`%j; zFb^MI=vJ}lwmb6A0WWIacdA>>xcuyO^*->)lb5^EeGgclUMn?o{BQs4;q&*W&G21) z<8+CVSA}iNA=qQhN2QvCVtcr#HxL^VEf-*R+^2VBp(-3^4ZzrTJrRrzxF#YkFS++g z&3>$DP}VMG##6M{b^$2(tq28Es6NhvB1YoK-8tO=#3W`aoT+u()aNbz$Bd7` z+|L5f_dnRIBao{Ku;lGy&w^CS4K0JO7G`3f8$`;M+r^wEg^P=JX&){zV@2ik{47v?;sXW+cC+O4EbCL{@ zfTJ?fsSUc+*aItC9o+*0Jxrwf{8c*J7HnFpFbOa#H@XUIL>#T^NjUYGE1K1<3eX{% z?+qfYtla@E+BcA>3#~DE=0R=3k7-v zm500xezqDAbj2YO*xclItC>m$1fZI1STvG?S_AvDbFZ|NYej;tW?gx}h~$(3hP~<) z(8nK!)^Q818|+gYUjsKz{;=5yb$j z>9L8dp25L_$Y%QLa5SLS$K912)ch%?)bYZHQ@|s@AaDJ8mc@*Uj%KE2#vD3w5Kuff zyzbOgU5C>!iWHT(?bkK>$sD0q)T)Cf;Kb1&ko9#r%R(AX0o=V=nVxX9mo(BlT5sjM~d@=!HhIsGRecER`=$x-H z!!rM%W*0cML;7IeOqzXge%EVjDG*r+kPt6YFMq1h)EO^nP^+i93%HdeRrx>8E!_UU dI`-ID1PL88uiwBwRTu44v#VBDN{#P4{XYr+WxN0Y literal 0 HcmV?d00001 diff --git a/examples/angular/catdog/out2.png b/examples/angular/catdog/out2.png new file mode 100644 index 0000000000000000000000000000000000000000..feb6b5dc283f7740bbbb033807318ed0921b8215 GIT binary patch literal 104326 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Ν20$a_UePxql;e^o%=wd!3jCMT_hB}#gmBmK!Rky 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 b)O#8yP*4XMdWffZH9uiSwaMxUf-bn@mhi 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 HDD-~;4ve5h literal 0 HcmV?d00001 diff --git a/examples/angular/catdog/out3.png b/examples/angular/catdog/out3.png new file mode 100644 index 0000000000000000000000000000000000000000..4c970f5ede37f23062ffad70c05fe4f9fbce4aea GIT binary patch literal 115568 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 literal 0 HcmV?d00001 diff --git a/examples/angular/catdog/ui-explain-msg.lp b/examples/angular/catdog/ui-explain-msg.lp new file mode 100644 index 00000000..818f98d5 --- /dev/null +++ b/examples/angular/catdog/ui-explain-msg.lp @@ -0,0 +1,4 @@ +elem(message_unsat(N), message, w):-_clinguin_mus(cons(N,M)). +attr(message_unsat(N), title, "Explanation"):-_clinguin_mus(cons(N,M)). +attr(message_unsat(N), message, M):-_clinguin_mus(cons(N,M)). +attr(message_unsat(N), type, error):-_clinguin_mus(cons(N,M)). diff --git a/examples/angular/catdog/ui-explain.lp b/examples/angular/catdog/ui-explain.lp new file mode 100644 index 00000000..c4a598fb --- /dev/null +++ b/examples/angular/catdog/ui-explain.lp @@ -0,0 +1,9 @@ +elem(seat_ddi(S,P), dropdown_menu_item, seat_dd(S)):- + not _any(assign(P,S)), person(P,_), seat(S). +attr(seat_ddi(S,P), label, P):- + not _any(assign(P,S)), person(P,_), seat(S). +when(seat_ddi(S,P), click, call, add_assumption(assign(P,S))):- + not _any(assign(P,S)), person(P,_), seat(S). +attr(seat_ddi(S,P), class, "text-danger"):- + not _any(assign(P,S)), person(P,_), seat(S). +attr(seat_dd(S), class, ("text-danger")):- _clinguin_mus(assign(P,S)). diff --git a/examples/angular/catdog/ui-menu.lp b/examples/angular/catdog/ui-menu.lp new file mode 100644 index 00000000..aa32ae27 --- /dev/null +++ b/examples/angular/catdog/ui-menu.lp @@ -0,0 +1,14 @@ +elem(menu_bar, menu_bar, w). +attr(menu_bar, title, "Table placement"). +attr(menu_bar, icon, "fa-utensils"). + +elem(menu_bar_next, button, menu_bar). +attr(menu_bar_next, label, "Next"). +attr(menu_bar_next, icon, "fa-forward-step"). +when(menu_bar_next, click, call, next_solution). + +attr(seat_dd(S), selected, P):- assign(P,S), _clinguin_browsing. +attr(seat_dd(S), class, "text-success"):- _clinguin_browsing, + assign(P,S), not _all(assign(P,S)). +attr(seat_dd(S), class, "opacity-75"):- _all(assign(P,S)), + not _clinguin_assume(assign(P,S)). diff --git a/examples/angular/catdog/ui-people.lp b/examples/angular/catdog/ui-people.lp new file mode 100644 index 00000000..92bb797f --- /dev/null +++ b/examples/angular/catdog/ui-people.lp @@ -0,0 +1,39 @@ +elem(people, container, w). + +elem(person(P), button, people):- person(P,_). +attr(person(P), label, P):- person(P,_). +attr(person(P), class, ("disabled";"m-2";"btn-sm")):- person(P,_). +attr(person(P), class, ("btn-outline-secondary")):- person(P,cat). +attr(person(P), class, ("btn-outline-warning")):- person(P,dog). +attr(person(P), icon, @concat("","fa-",O)):- person(P,O). + +elem(add_person, button, people). +attr(add_person, label, "Add person"). +attr(add_person, icon, "fa-user-plus"). +attr(add_person, class, ("btn-info";"m-2")). +when(add_person, click, update, (add_modal, visible, shown)). + +elem(add_modal, modal, w). +attr(add_modal, title, "Add person"). +elem(modal_content, container, add_modal). +attr(modal_content, class, ("d-flex";"flex-column")). + +elem(name_tf, textfield, modal_content). +attr(name_tf, placeholder, "Enter the name"). +attr(name_tf, order, 1). +attr(name_tf, width, 250). +when(name_tf, input, context, (name, _value)). + +elem(btns_container, container, modal_content). +attr(btns_container, class, ("d-flex";"flex-row";"justify-content-end")). +attr(btns_container, order, 2). + +pet(cat;dog). +elem(add_btn(O), button, btns_container):- pet(O). +attr(add_btn(O), label, "Add"):- pet(O). +attr(add_btn(cat), class, ("m-1";"btn-secondary";"ml-auto")):- pet(O). +attr(add_btn(dog), class, ("m-1";"btn-warning";"ml-auto")):- pet(O). +attr(add_btn(O), icon, @concat("","fa-",O)):- pet(O). +when(add_btn(O), click, context, (pet, O)):- pet(O). +when(add_btn(O), click, call, + add_atom(person(_context_value(name), _context_value(pet)))):- pet(O). diff --git a/examples/angular/catdog/ui-tables.lp b/examples/angular/catdog/ui-tables.lp new file mode 100644 index 00000000..6026a301 --- /dev/null +++ b/examples/angular/catdog/ui-tables.lp @@ -0,0 +1,26 @@ +elem(w, window, root).%%#(\label{ui:tables:elem:one}#) +attr(w, flex_direction, row).%%#(\label{ui:tables:attr:one}#) + +elem(tables, container, w).%%#(\label{ui:tables:container:one}#) + +elem(table(T), container, tables):- seat((T,_)).%%#(\label{ui:tables:container:two}#) +attr(table(T), order, T):- seat((T,_)).%%#(\label{ui:tables:attr:two}#) +attr(table(T), width, 200):- seat((T,_)).%%#(\label{ui:tables:attr:tri}#) +attr(table(T), class, ("bg-primary";"bg-opacity-25";"rounded";%%#(\label{ui:tables:class:one:a}#) + "d-flex";"flex-column";"align-items-start";%%#(\label{ui:tables:class:one:b}#) + "p-2";"m-2"%%#(\label{ui:tables:class:one:c}#) + )):- seat((T,_)).%%#(\label{ui:tables:class:one:d}#) + +elem(table_label(T), label, table(T)):- seat((T,_)).%%#(\label{ui:tables:label:one}#) +attr(table_label(T), order, 1):- seat((T,_)). +attr(table_label(T), label, @concat("","Table",T)):- seat((T,_)).%%#(\label{ui:tables:label:tri}#) + +elem(seat_dd((T,C)), dropdown_menu, table(T)):- seat((T,C)).%%#(\label{ui:tables:dropdown:one:a}#) +attr(seat_dd((T,C)), order, C+1):- seat((T,C)).%%#(\label{ui:tables:dropdown:one:b}#) +attr(seat_dd(S), class, ("btn-sm";"btn-primary";"m-2")):- seat(S).%%#(\label{ui:tables:dropdown:one:c}#) +attr(seat_dd(S), selected, P):- _all(assign(P,S)).%%#(\label{ui:tables:dropdown:one:d}#) + +elem(seat_ddi(S,P), dropdown_menu_item, seat_dd(S)):-_any(assign(P,S)).%%#(\label{ui:tables:dropdown:two:a}#) +attr(seat_ddi(S,P), label, P):- _any(assign(P,S)).%%#(\label{ui:tables:dropdown:two:b}#) +when(seat_ddi(S,P), click, call, add_assumption(assign(P,S))):- %%#(\label{ui:tables:dropdown:two:c}#) + _any(assign(P,S)). diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md index fce45a66..3936aea2 100644 --- a/examples/angular/placement_optimized/README.md +++ b/examples/angular/placement_optimized/README.md @@ -3,7 +3,7 @@ - **Backend**: `ClingoMultishotBackend` - **Frontend**: `AngularFrontend` -Showcases multiple features of the web fronted in the form of a smart seat placement application +This example show how to use consequences with optimization statements to have user feedback on optimal models. ### Usage diff --git a/examples/angular/placement_optimized/out1.png b/examples/angular/placement_optimized/out1.png index 460a1c4face38f8613e696f534162063a4a0452f..d9eccc98679c895c6b1fa646d206f4f5e2d83aa2 100644 GIT binary patch literal 164309 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

6xQ8LI5>X99EY24UF1V8Q3`iV8x^Ccr)mb)o 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 LkIv&QhtK>kfp34H literal 124541 zcmeFXWmH|kk}wJchv4q+aBz2bw*+^0ch{f^?oNQ<1m_UkCAhl;=itsexp(f&yzl!l z_x*fp&0eclS4(y6?yjz?uId<7WtoqN1c(q25Fh1aCDkDyV1W=2(BI)Wy_aN`h;iNAC}w4<>`&`L6Rh z4ky?A;2?hP5+&2YX~B`{WB?Kn?#dHYZnC6HO*cD70pHV}}%s@{pl|YA9BN@0khj2Ci;Y62eR-S|eCd z{j!J1*Pa}H@)=lFqHDB@U!ucxF?Ud*^2SL_Q@+w8#H6nl!>$S9jN?y-EF}*iz=thC z?2wr#OSXopDBwcZlSeW_=dui24T=3g0#O7S8vp3EEcTX<>&0EkV6kMwe)*K3d!TcC z0;CeitC$YT9kF7(VVmzAZ~LtTtb#UUjh!r2|VnuGe)EnkvQM4bE| zruDsFf<+(K>aF}u{C|iahS6<`NDJeXN4pkb-L=w-(CUt6i=TegL94?1Lc7-oL%%pQ zEA^=6a>WbkWm2|I5hU^FgNI{6gZLu~Wk-+!)ev0JSX+U*G2#~r0T(R>yY;~jhJ%wr zZGkd;QCAiIEj$|aDst#?%=fVX;>sxM)8jlz$(S#aIb}l+X0)3a-f+l0#xmV@T?_Oj z9(!nz_u;S62++YVhO_tk7qsVG6LA{-9@$92nfXYjn2>%5Q+T#$>#νZ|G{l-j^L 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%0Ap6 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%0D#WKLXO+Sq0IOk|5 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 literal 128776 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 literal 147493 zcmeFXWmH|kk}wJchv4q+aBz2bw*+^0ch{f^?oNQ<1m_UkCAhl;=itsexp(f&yzl!l z_x*fp&0eclYgO%Psj9B(7*%DNkB9__5D*X_`X zHWCu5auO0`s;*9!Hue?}5VA3;I&iugBRF|_Uz0?wA)!mcH=vUVMCIX`gKsFJTDNS!jpb^&lSQ#|U8bv8PyM6GZ1=U?BR%KKItu*@1#) z<2PVfc{}y?{+ZMJMUVwT7OUT;Q_zv69}eP|T`Pr)FoYz%6F0LF)j%B-GaEA6j+A;1 z`4E?S4$Y9CIkyWNQ}imNs`|EbKR(2F!%)Gl;A}`P&1Z5?tSe}7h`B##&wB^T+hRG0 z^;}KpVodW^C9ehFKs*yoCQ2x@W_V+V6pZqap@M2CR)g=E3GW83Zd4M&OeR_*SW*45 zhsf8S9Dec{SXH8Hw2EJ%!*wxtP@(e1Nla6|(j&yAuNK3u3F3_7Plqfe4vwLf4Z=GD7FF3|kF}{Xhay1R5Iu=(Q~NmXGVjUCCgvWW#>>l%RW{b9@4% z63DBV4$2*|V!UCS?;UTIjHXA+#)ZeAAk&UmA_oX?E1GaLvwp*7Gp9`Jm)+%w;*A6# z-=&|J!5r-r;6()3IBrb)*T-ij7`NMB_G1s9lDx>`r3@sAH*$Rl2AmP{2!+E zygQj%JIWe$_#%!uvwI*9SwtI5aEu zsOECT3+iQ3woVZw@#lkwV?u-YBMN0lkO9>YT+mosfx0o`7YYFvEe5;w!4HOmlR|BQ zGJH{275*(e8uco2=yA;Vu>j)ADC*PWJW0uzFOoTBLl0)On;713$UVj~-F96I^d%m9 zXpr~euh9t5!7qlh_xl&L=UfwU8vP#GNWq!;NT!&Oeh5=|wrK0HlU?CfToRPpz&ieI zma!X{q}FDBOb5-pts)0{6CesSP~uZ3l07F^2a#0RRvq*IpqRK#d`uq7 z;?8keaGsia`y^tX54T#E&s;CH6nKj42_+Ck+>-@CY&Vcqk8=7Q3$?aps9~OKk69W= zg?kSDrEhckTdF1dRQ*Q%BIrveAYa7bDFOBeeG$H?n6#yEEcPOcdq`G>jKmRBjR~7M5vzhxftE zBw3d|Eg`0!PnTXhWZv|nE|UMGPMzZq)aPhS7Xsy>vu#9_o?RCfVeI@cKu^`>nK$J| zf>96Y*6RZgRI0IP9i=zMQaC6axtCKMp)j;A)j7!-@w}9zSAZh=jWrVsf8GbVuaqW$8c3 zeb+3}ENqfE%9ybzEtk(9IW|XXpym5IPB}#epmYK=5BTagoKH`H#Td&&o$ysEQ>CJW zQ&m~*Tz!L%kujUWk4}aWDdmt}hv7m^xavjpu{gFYwi;1^T1u*@LDM38)FoAq!RfnZ zCG~t_mf}P?OX-4|iu#3y$oCmdV$J1B!TGkz`O5gpbSdX`6| zaK>3moBeKWf@xxI(r6-KE=o(q(PLDoQnX9gF4yjEE^Gec8G7e_W_wn=vd*88P>P~Q zD`S;8DV%%4pD&G;URPUbadsR;Nf**IQv>6vxqb|wxCzISmLEZ zy4W(GxR77gZTOxNxG7tmY)IKgsUUMs=(7sJRmT<0mSI!3T+nCyYkHVeUoGu7L$R53*C3}EsaXh!VOM+i(A|OmTb@L1Nz3fB60)MWA{9-xBEOPw_UFvO zY@Ez}qy9juRdpZc;1ZvCfT`W|-wrlVqFv!JW7PKLy4y$+3turL?IZ z?$t}$5!$!fUey%~zy*zJyXx8%GzUEHW$qJumgS=6n&!;r`DWZRRRJD>kahl!8ntjW zlH%}UTbcDboqDSk+@-};5$98Ijx%;!2SAf}6KsWM zv4c%N?SIVczAZ7Ek@{r& zx^?pScs)-Cs0VOAxj$z;xcb`#kUnKTf?k@Rge+EA8#4ql0k6cb18;Dzn~j2>8b1wv zs0-c-o(Y~5o%r?etMb>gSeY2U*sa)WPfZU;SYi~Kc(1s2_?j_cL)$68XV7=QKc~}o ztf_TNb(M8d+s)fMmuW74TBltYht}ikqS2%|r9x#r_eO{P)U?$!icw@Ri;Ih@iu3#9 zVluJaXwq;5_&jA!J9yt)EnK{Is&}bD4hXgg^avgZ7nmO~#xOgE5=lh-ULvSosl?RX z*y;JmeeAA&h5tgRqP;0;ElVlU&$s4sdFprjc0;?b$j|@Df!*rrO;g;~^f+M-kRz+i zY(*BItNm?Z%ED#Q+351cyUM%E-zkvq-KO2k*XOAb`64bAzbg}%iJch$l~y2s$-qcu zC$aE+I(+J|9L5*J*Ws4xs^Nx;z!kCFdq*#=QKoW)u^b~Wxvn8pUX!;1K*4mHkhr2b z;5xMHA$>%N`MHNX5(bqYdK`*6i&1u#U&Cg=+hrDc7B|3=hXafK#*LXjlDo`3X1?(9 z3DuIr$|);sTrPW-d(qwzw3g@7bKN{uK0cNA?w4$)=JR_MCI;zq?8h&M*dkBV59v=B z^B688@ezhdJWRc~2sj=ro`#*CpcZw*qeu3khS&yxLaV~$JO9Drs1aOx8Q@I+pxOS_ zb;ou4>V(l>#~!dq2Ve?na$Or8)Vk3st=g!`>wMCWP#B2hO5ys-wVt}2I$<}l$YS(d z%FuZH`Df7WIYC&~0N2GLXu-hnq6KIYwjJ5cng8QgA?aW^6+_!&_Y6P2X72!B^3CqWY(>8K*WaEQ%P# zNx;;#jd89>(8V`fS?!as5(fIT1&g?12{WV{Yj;*^xf$MXO^Rx|(ZXK7+t-v!nr#F397 zBJ?VFhIFK`uajNNyx9v}Cmtsz!gA>+TCRnFWz5P$`E}v|q52J?pywLjBJ|~jmNEKe zoIzqs#N-iQO?wT(I{5wKcfjSv0W5@H^RHdpIUNN^vRFjX95~V3+^Cc3PfDIODL52@ zaQ1NzS!vm@Z%WDed_mFAhd8oY2EV4xx*^Ca{4L7M;Gn^midYL>IZGua2nKK&9s(MY z00IVFf&?dFNW%XtOGDB@eE3H@6a+++4a8r_zhjia>F<{WPJiqF%s+gMgn$FrFu=*X z0P0_(VSxo7{#Azl4(@{x(~yvp1LqoMt`-)KZq`ojbzRr*;06R|*-vf|5IEF-6QrCv z)g>7Jl8vUWyRMQVznPN*i;20DsRfI-gY#cJ5Q5(P;G%{%v^1p-EEv4 z$^POsF?I5A7owo}OXxqpfBvV1x6OZ1a&-F-w!jPm{`LUaSXcr7i5m-s-IwcIRRC7c|u|7Zozv@oI|;6GPQ7}1IrvkJVBL^hHtn&2F~&HjE+ zf6H|L%)wpCQvX4{e_31~jxCMh4|#Wbyxb@W1dy1KME!J@kJeil89LfkiusjweUYo~tU8u`l^ zba;5JYnR$$69_tsN?I}S@ntS_K435#)qlM^Tb1FmTPS$GI1w$CPmB95R6+IcDKoIz zb3Ua|-RfVwOfI&5yu!vJBviP#@RgzD2pCk%5^xe8=Abe z`&e63j6p5G2S4zUkmq+s{qCQwo-nc7EUu2!NK|5sCZ)iCOO^gZ>0$*!gL!VhZ9ce} z*DWjE1&-Z>qlbY z(1mKhfuGjDi==E06V7U$&5QqCMII`;Ema^IQ``OamhD*S%3)z{ZrzUzn*XVXy3+2D zy>WNC6LGVt0Qg7&Ja4~7IiBs%(M|d7IJFUAJ(jj8p2juw@sq44;=gSJU@<@=raY`X z9%Q=*4NanmMh4rimk|fNjL`Z%kK@mNw@qab>tCGLF_1#a%et7m{){i+C@6IQf>FCZ z>FK6#753x*!=(EDrM2VJ5u8I_aJ*nA`ix36ZJa>FmXpP8LnP@>O-(&RSnE{&@ZhcT zi^pkMT*&wCZf(jdWB1A-xu);SS<7Z%u|zj%(Ne1}|Le`{5%R4FJw5#lO{pQdl<{`a zfcw_4M@~|bs8G8XV+m!l+!Wk&>?KD-R@qVJ6^ zyV49sz|I6scTIkBIBaM{a;QwWJGCbnff)5~27aU(om2w`dhscy^B&#ySbvQsGK{|* z9nbs}a9GVtH5x-xT{H~(P+C&*=Pit>^*--TtRL5t$?yi*;BNEXHvu%+u`>Hi>c7>N zf5AGmzv|imw3@mow$691>U~5OSp4-!Y zx?6S173=CgA&!lY_Xr$|{lE4U786u%hkNOw(Pkm)O3~vPr}y-)(6eA7C9sSxf`x41 zBv#|##g8USQh_&r^9}w=>rT%9qB2a`ujQbKFws~P9>K&U0P|N+U51E;pc`doW@`TY z{PAfwQ6$GPB>3s1w)@Xub|wGnx%Fb&lkgHPA!z=h5IEPYWLHjP1i1~fGgd1p?_YSq zK@t#`#`Njx+^s+GZX0XsEb9_UJ54F3$hU?p zSNY8DbJUfCCkgz7p}hR{ZSsRA4*D8tj#%b^5Ie4AZz9U17eHyy1FXf{)d!2WI}VGt zM}Yw>fp}A8fEb%qo`j2zCWSmdIiYA~_lv9zVR}VFxw`+vs==6f6%`>OH581r|1v4D zC=&FX*JgkWSjKq#vQzCAjwj`zAq2rpRUqsR^6x*$*Mg7YZrOyt#_+9dbZrdgAR zJN(rj1Rpdz+8;=8ABjZS*w_|G9*-h_WpM#!t`!>L2cP-f3$m-UT^N1G?J;*wGWf97 zW|MopNhLo%u%rFUHYY=dVm)2$4iZUa&|*-OTMlSK^FCbnI?D6AK;nOCPd6%3r&fS< z_(mEkY9b1u=4u@0caUj?6L~IeL0a2d8Ol*Jnahvy_62-mA=C!XdFU_J zUHwZ(C+5QhM;?S*ZgVh&B>@?f$?%eq;>^9zV8Q+mpAq@AKeF}fzPn%NSKGienL`9^XnK`i*-TI~? zTnc=BqW{o`>|5srsMM+|t2GI@Tejk~@0T_3?5``l$$x*LweOmn)09_GnB9-XqTd<& z4#Q{p_1g!wGfYfOdKTrK#V8p5bQtX)`cjFCxzZM+DP_rhQNLku!<#WawnskQlzry1 z3qOUt^1rzdNdmrHDI70UBdyOAhz(y^(jI(4)Bn(l^CIi&8r#6CviSQ$kx(MjIrz_B zQv&%fF^M0JAh79Op;85(?HQ^kcVQ0mFW_pR=)XR776mYJkTKzOHX;;^^z! zm)m`swPF(SYTpLqzw1nqz=SUT<{$n|12h(Ve9RL%<^y5pdal?!b%0*3$0EiJatVJV zv|MKs{&4-=qL-L=^IN6^Ve=g+-!N(RxQ*p~g2(TtGL$c@H-68mY{?cn9sJIhDf~0^ z-XsFIsa=CSe_Kdq?W7Cv#>?0B~yk1~ce@50eAcq2$Gn~o{iY1_fXbr}T0QL5r$ zzlr<90{b&Kgls&9o%=EB3$Zkulv^xW(y*m=}P zws02In@LAiiT7cvHTw_98#rzSzX64{TO3!Vhmj!hYv7wLTP%G#PU5dC&m^Ky zjy%y9?0dsqH22H01ryDTBv`c(v3ubcA!=aY48h3|CgWP4|=04Ti)91R+ z$XT`=Hdvf+XBmsZpYa%O9(<}{y?A)N-?RZWPW|qc`eN{Ln3a3)x$8Q?Q?td9*eKjB za0hfJa53FQeC~w;THBFwKPpYrkh~YLXlMavI5-a`|T9 z^91%ryNB&;Qcu`--FnlSXUcW&&fHB|m)H`+>}Id&^F)!m*UrQ}yuxEa;b#P2`-NR) z^by)KQMCd_7%_hn!`Md~I=+j}>lBcOPw(1o*=TA2;Y_$~BkNhVuo=xnE{~BHKI~P* z#5IAm#)KnklEHe1M=8oZtZZGcJ4(YXm*n?8dkeQ#@*UNv*aBId60Mc0DUE}7s7>fQ za0Db*8R6_%!~SvX%;3rExN(*)V2HmfkJFrGAcc46XO2A+1hl$_Y<^-(YI=Hhjx)so z4nPXO`%U)7$ zgZ)?#G-BL??eEHuJ(XEwdIDb4>{1L$8N4IQ{>K&NGigeM*2hiwH*=xJ3YAA1q=mNg zj-I2YFxqLVuzQlO^8Q@bOVPmhH@HJIo^{Pkngmi@ZM6`P>6*SG3I|YWq47U9n}tYX z1GN`C*5EUl7iHQ?sOTQNDC9>e&UD|~-ZlMRXaaKBezz_)8N{SIR z|4Qgd)!?Obt-e#+2+sJ@hR}^O9vHqwQrJ1LRzv=be`Xc<*oP{j`l?5ec~Bv@JIHCf z=X}_*IC{qX`S?535C#Y)jGIFzU(g1_z*WxMNv;+Ya67LvcN9`{Gpi!vgN?9)vKEO< zlHn99EOHOa1MKtZxmPf`92D4yP7b93ZXxjcj8ZmPgBryaf2^W&cZK)+0S@&AsCpZc>8k?`uDz?!m$C@7AXC;CZZW*ps zjS7qgY?Om38xUHUk@$5+qZtj2Wlj$8V#|e2f5Ff1KCDW9uq37j`g-_L(7nXiYU1TyHfWxm~azr)-!v4S9@G>w?$8Dg1}U|ZEmy|?)rD@8prI=jUvGAyM(5;;%2cQ+k&dNDX2x^) zrBNybk3R|D?BgB(iY&BsD@kcDCdw`8&jsBXcA|XlmY|)Q^}|~VYGA>o%u;c9IP{{K z@ov4We`!_!td5ae?)mlYqLGYSzA8Cok!-7LEb2+K<%H(O{M)j4JjgC2z5C^A41Q3@ za}M$!Tf_#_hd_Laf%|`Q6jq5D&J2ydJXt^P|0bwGFRa1bK7^(1?iM`FY*vvQ=uB7%(tJ? z$?p$rc4NY%d}MQ0#>u$5<``OhK*0QYSj2}@vrovVMd58l^t78qQwKU_rE&`9T>m3q zlg;hgAPC+=o6iiiyUfE4k8=KJE4O*0w1KrG$}Kepe}E_<9)A8t0k2%dOF_YxlPFw= zbtfYiof5%Q%!r{6l^Pw~CM2fN+rdF^k5*6C_l^$Gj?HEWfSH4q%|RZivv%g}Ltr3HFrEGVQ7=OHC2nR@UnTRo z+heqUT{Q}0<<2$GOe(sTj5lE=vFTQU-ofM7n1+`)IyZ>RsrUib3vIwJC`=V)bj$}OGc4n`E=egS3i?$M(s(eQjcqR^dg+aIASKix9Fd2 z17O%;Jpbb%W8&T_BN6bD@%2z`=GV}5DFAG|YH9hjqEtx!XiJ8CeO5csW)8~|wKr-> z3Kfg^K^lmKSvHy{WQ3OTQQFnkro(CT-d&;i2bGU!0M)=ob3jK!Gs+rP^s8ep?c3ED zpy@nS=SUCx{eG*qyAmzt(Duu(lbSB+C|%Y7b_F`v4gYKAC-qMgfz>nv6{909QX;;CGjvN-wYl4Q&s; zp#_b)otqyo)&c^qZ+UJ`dW<}9b!zmLvRmw3+E-iEC@Vj4DA2oKjnK~iT-4t^y>G;* zRQcYmr$i#6w&3}Pl;#_?*31dJ#VFe4U`C&uvJlXD@}6G5TbnlsG>}ek$cycTgSXqt zv!NR^sWp}}y3yr#RNb;k9MWCg-YDqy^{d9J4xww!Y^d@(4zOql$qQBgrsr?%Di^FxyPETu9gkgW7n;#Cz z^+2n=kOG_evu65sP@vj-INk`>fth1)v}_*I|cAx4&kc1gj^DlPb-kj(2^cKfeLaE^2K5sY|%l80f` z=d&QiKlB~llM^$C>Bc#|A~UvB%rCpX&Is_4@;3==_MJymam5+>qP>H3vHg60v4{5g zG8hu_1iJx#dp8o9*iktIMJbk5#fLeLTWfN(r+k2k%Cf$y;!>GP@)opm3lbrIlP3YrWQ1X@-IWaJR3V+3Xn;Dg>guvX+ z+m@RXud8-F-K2F*=P>JPJ{PD*F?(TrkZr>BX;=tw}~SJ~!I z2i?-9JUyt6x+8?(p@UN0p|E{;PujPKrd|$%j&=KprYe`-H4FM#%)FC}n_2pGgvEov zj+3VA2_83(a2S<|#gSqk%I2Ani|fx*A3+h^Mw@p8A>JUy2MD%M$ph6n!VvbCCqhR~ z5#q$U!*r%XHnSmt)w9$>3D}btGSxZ>ZifxU-9Z)iA8=<^53e_&w8ZKY4kFDVMB)!4 z$;G{gyf(jIJdb~OWi#S9?tZ=*pAFY{q5&XY^bLNjJ%$E(W-u5=)=IE7+zoK~Yb<%R z2=_drlx*ycBtoM*c$(EQNMBv37XEM*_wT8!-3$&PpTd2D7$6dVOc4^tSbp8<7RwmV z63T9N3d(hwYz`d2PM_^Z*sVyRxa&ob&6Xj}mU22>JNkr$*pbGZWmgJ-XXEMVO0)`2 z_FLIhinb8)9#*AoNm#Z@;~j!mv&4c0`)5W&?>=Q+4RdNxtzs-Rsj_1M0;QV+?qI`{ zGG6{09YIG>uP*1t{TFB6t;ln$;F3*WMY^mmJ3>dA4I}IJ90h|QKLfPQUH275h zCQlO!?fU|4c;Gllqe}5sb%37aZ5LR`L-P17D@%Ul7$1@TYf8z;W6;~H4t`PTtddsM z(V32s2e#1DALK5Q@&g>hDK~?Hq?hec`WBYHR%ml=usFDN3}pWEae>qr3I{mIwgY-Nkz8ymdZBi zeS$djIcD>IXt4BU8!xo^MQx)eNbGKdockbb)yw>XbFP-%qtFFXk~T5SV8-+)CDm^8 z5%uan5*pvHR}SLE$Wgz2(|QTAShsol;@YYc7%Z0bl$c}7d+*qmD%!ulx528rbWhsN z!`ICE^t3%h`u)_$A{AXP#{Q5nQrz!8uA?Be%2%ApjJN{_&WZS7d^F6Lf(I@vpM9&r#u@9FrCm2Dr# zo6yL~{@%+DJ_vjv+B=Rey{c2 zY~}e)HQ?cDtoDYZVC``q{*mZ4+K0xtCgG4KPD&x2C3gZdqh(*pKND2Q)V=9r@MBkx zMyf0Ev2mm`-;4f(*f+SQu&cY?77Qw}PxaTT9nsPsdO8G!g$-*vUVGY>-**FZ&Ccg$ zmFG7DSnF;vYOQc;x~A?=3ujdXawmma6q88$s;aFwCl7ICvLB!pybo_lSw#tPc6oqN zIu&SZh8ONBAisdEjR(ChBQm*|m>R>#0|IIM+LO&QgQL3|X~F{`1cQjh7nptU$$BIP ztaxC0d+n~r`JIO%O-|jto@)=;hy7;B+iZOwt8{ZK^Ih2D!%yV{CLr^BY@6@PVGnoM zI}e|++w?=l@^yuGTh4j-wO%+VlaxKQSJMNxbIDK2STbafF6ltQWFLonzF*-f4&Hv=*RLY%->FnRp6#eZ1q#o zzg{JqnUg$eMchBF?0$Gc4J^v4DY3G9A00Fq=06Hdmq2>9bx6lupF3QczI4k zXg=eM1Xf+8zLwNv&xF`b?zjIA&u@2BCpkxNmDZw^+s$(m1e$6Fa@L+OUnhp8JofRd zG_sT_`pj5_@%IFlP-&F4rX$A8iIh%y@R z9gM4|JQ#~E5{6x9OEDd!Vr2|1j?0i1(;ke+w{B*{?e;C)LDZ+B1fp!ou$iogsk>9j z96}9zDwc-y5(El;^-zSe->LFjteI<5Sgf1yIJ*i~ZbvEYyP+(!?A3yL>^Io=dHn0g z14kqNaP0@|>J)g(WZy}yIOwO-O>ywdAPw<Bpss zY_t^Fri)!$aaqNY&y2llhH26x^d}r-KdH|okD1OH#F6QJJQ^+TjdypY1hTr^Tq|aX zI3%x6M8*GJ6B&T#}VkiL=JtlV>K_aQBL+K(Cg41V7$`5ScyGW zq0r(e<^$P<67~$Y$4EQVM{nq(_dQ<&Dq}JIpNik@VoTy0?7HAAbQqjGkrMa!IQAAH z-xh?v-vfJj++NAcsW;`?tMr)b05kCux&gd>lhhw}Z!t5=(5MYwFXcDSG;^q>9s zd7*{G@5I{gPfODcgIw8lu55R$oeoFoYk|SgKHf9X#IbQkNQV1`vf_A^eit_Rb~{yS zeR?-OY(C}^5guSN4(rWIjG=d@j}+gZS$9O2nDCffj(#_`nB9bx9J3DASqu?6sg_R~ z+*t0B`kR3CMuhS4ci2? z0wYlgZE+EvK3*|$P--OC(RN5fiDJbbagcbNYZyLG3ap?5VH}{wryd7{nw)=|Lisps z;p;TPQADex&cgj=W#up?9QS= zLP7O0f+GDo%0qSuG1Ts`NO^&gXbbpLS}bI^AY>G5ZH#0a8l}9P2|9eYia^xc(phDp z`QH*IZxKGaO|r)g%PBx9`p0Y4uQWik&&!hu5tothZr`QoufN0vaJ$n9YN46SUQKu8 zXvZpQO&wF3W6&CWjU1mZ3D>wBmVfG~Ra?2DrMsTmYNJWH2YGxxe)lB47TA5RrMs;_ zh|O8H;^tEbw^D3%szbcSQ+%@UzlSMRJgylVSnSL-#mY>&TXRosJWkrcaWiF;CwT9i zRW39X4W66!R}!PeCw1IK=(R>5Maw z!c?_5k*_F~P|6&@q_@F-n%K3)E^obVfL>ss2r8h4pPBP9qc=0U^vbXCJNlX8Y-J?H ziaqO*G{)p(oL%sAhnoB4w3o4go3V3tfvKQrf)Q%ZV1Z=ak*HU3!Lg?qR$HS?ND|*D zup|g8vmsVJ4^Ip~|IBq1?2avlNTf`fC@dL{OP4sC{0#(qGYZDVpgfWolcN{M$hukfNA*=ndskVX>n}>Vs^BsGSiI|7 z?AN8Ens!$w_=m$cu@S6kG%N+u9C6|ucXvEaZ zqStASRh#}Gh(W_#hH$Ndo#dzd+C)x28>CtEn(dnUcnD3w+Le)FHsXGRvKHJ)6 zowP}J8yY^FCb?DS+hmZsAOeKJVQQk;2i9vt=c=pY!XK2IIUd(kC+{yF|6+OyVR)3};@51OH# zf{AeL??iAT9s%H+qk3xX6O)L%?)x)p2Hm=Uut%DYgoZqbs!%I zkWI-~Ce7;)#^)DY=YbsVd`k%(RnuRNXb$Qv_efCeK*ri83tl@oEn_;E<0w~gE8^a}0kWU9GH;hgUgU8BfP2lW z%do{*cqwjbi5Sp+3G80B@k$98z;|ZYJplWzs z#-lw9@|AQZPsUQeFuGPMR#iICt3(b@B+!1kadGaxac^^{P@MRx`CuaGYnc*iQVE#_ z$tkAb)R&tl)(bxWsTws{?PgBvrQyfG=59N+v_nuhEoEFQ*^5EEA9jCw`lWA~BJU34 z45%nTPzF8H=YEJZyRVJKg|ruM^v*p3O5&<*Jol^61twBNi1Q>l{(VXIVs{J=VS-!xaoNp(#0^BBSZUR7?Ej<)`fq4&^s@9 z@Li6Hx^V!gAAgmR(3*!NW~QOp(E&|0{vq$-@dy>fthD!`ul0n7BeONG3p ziIJAnpJCPXJKQ$IL=9ctqEw~h1O)DrpQ?XV9vgkVDv0Ilh@&va2653n-wvHz3YuS{ zDB#}*S9uZDVtSbg$y=A^9i49MwcYM8Xii8U+w3Sz=xOBV^=FSZ8`8x9;-E;eP;Utf zn7JC`8Tw&$sZFlV4jk0b`f-_R*M+mHv@43RaBeH)=NZsdZ0*?xe+8pPn#i+73d+E{ zg{NPnEgBX>erRNzRU}q)E^wA0A@B4r)DJ0LSV<4doWVbq*t49sVqw&&E-UPdyjBV~ zABRV{&Hn=M{DHvc5)zT`kc`NvqZk_R9gp-}SkNjK5N%ZWwJEQX$pEbgie*#(^!j)a zF{8z#HtHDjN1`Z&>xp!nN1nQMi0%#)b?@mA>2CIoFYk`s#YWd$YlW{Yd(V(!ws!R& zc4HSRtCe?6JWO2^s1Ga|ojXKs+uFMR0x5b**_@t}gwYc}?TpGs5*0r_;q`i0V%jt;Yjg@i>y=YB{Da+zRQ z^mlx8A-a<>Je%z zP=qQw+5W^c?9`xMHh1Z}p>M_LhsU43fwgYpliJ^%xr9IuOt1Q4&+yo@^7u7)6i{vB zXnDAy`i0&XTRsVg5AxVguond3^1U1!Ld@&r2F4-$rVp$JsD&u&Oue_0;x|!@;=dSK%8Aoe{HVU=#7XkG2#xVpa5HEy4xt zwX%$?__$I0550Rtp}C;ox0n+YL^TO0u@G1(0%$}6x;(PWI|!SfnqBYlwC@EWuf)`R z@C5o!+vZbwKLp$9x-DiSowagaSG9DlyhA1I&2VcJIj}!BSu1NX=#&+W_Q5?mw`uVm zbOexUE=0+@`a0o7kWK0(4dGG(r&$K!1~&GO+Zr#P13oWX5Uy-J&Nf)M36Y8>7FfDwbsj{*CBA>nGo;GN+ou_ zlIR)qL+}?j%tWqNCr~Mf^6&;YLwxzr*G(^qh^kRSUGr*`{6TkOGx=h8I8tZvh$#Pn z=e=y`0j-jFYIG?>cja+GuSq}Rndd$yn}S~?8sM$Hy^7RUrj+#oZDwNro*i0^TyfGW z-1e3Nc=@obM~fw;P@~ zwHdP@Lwv~MYBRO1Pf-{4@SV7aQ~4)rNdAsJ-F{~m&1#fUm_RtnWbmUAr<5qQZ+aiv zVf{BY`17)X$JTE6E=OBCZCdIzrm+vK1~xNvA~)e9>YT2 z{bVe!0Hw{odI@67s_!=k_4@!y?}`G|Uw7SF*AFktuTi@s!a8h5AhqJD;^mXKk67X0^~2?>ZWP9LWmSzP;CSp-0lm=eB^noh7kec^ z<<93>RT}REA4nV^b7dah&9-9+3CGCAfiKOcTSLZ_kS!WAg_&H8d`0HrQ_!ffW~c9{ zeXdO1Y?{9a4!^QK8a=%IBT0s#K&OchUY-o3{Vq+U`_zKxA;A92v^j8H zs-R(f4^u-?Uxx`b&%F)Z=n|Hg%Qd{J2s)tpQwPfhkm2ObB!%=|Y&v8=iVRH(elO*r zciJQ-F;UmQRRSF9xa?eQpk|aLz>2|&_@?Pfn92}LqlTc{jP8G8lbO`LF zpS77`!t-(;kn2}$-EH)`fsXB<5aD?)9Nb=d+xJE*Lh-`#AE{GFZk=pOI?Or|odc6k zhIDaOso)U((2X*_aoMl+t9iC}sXPeaEz-EoyGjX11FmcQWa(eTa>&aSu5qf}MG8eF z;7$C1p_d}6Z=!iwB7mXo9Z}KsMYgTv5FbuizV1*jK3Q7$1D6w{5%#N{MWMSyVva0= zjTwllgiAkI!m~Qnz>AMy7Za;dNy@mO3KP~km)*R}(}(@5-9({dJSLMNtNZ|I=Fc!c zINBEB?(hNVO+w1?Q#32v%$ntf5Tr>ofmSTnQNu${rF~KdJimiH=U9 z9%-YlI&Z9O`sEj6aqU;?RFz$zj~{}%tT$E4h|&c4A+ZiAWsqm3Vc+5 zWBYJTTlH#Siz?1cFOu#ZSh}bjx z3fd-2VYf0jRvOZMH|MYeh@Qj*pb97a^|yNitoE zc0+Zlquj&2$CHef(8o<$YQWVn&9CrXe=LTd-($;#+W0I#rM73XU*WfxC6T#TZ@c;C z0XHPn3G$*HuY_EBAh;43?(z0J;KUZZe*AWtU^zyH`B2G*`WZhffq0#ar}S<{3F zj_2{D9%w%LzYHgI8es8)BF@bkfVQ^;z78ka7V9@I+^DR32R(3x)mdEdm@TTNjFA$l zT+c6bG>V@Z`=em6J~YEcFFOGWse-+bnW|aUt}u8)hXZ|9JRCw{M*YGE>kWP=2?>Ad z;pR!CMk9W{CuP-gcZ{TviskJ-!|qU`!z$2a-Qi~W_H8@`;b+qndd?NXv>eyMxL>vDC zepBJTt2AyZd3G6l?|5uHlG^w%fxyKRXMf^6R}Z7DB%u4ooV~Rt&!e$;X1017cBm8o z`R9a67bjwGLHy|urA9frI4S-SIMj!tWfpjiDsSH>iM5bWDxbgba{g=)D#w453)TedF z`c4q@j1Ja`Vjp&srXOSyYZ|7t`ebGjW>B*K*b@|on`C~0LT?;vB=Y5S^t&2t0 zs{cgOKwt2Rq1r!WT)N&L+M5tY?d^c$y9u+aqNT(2IP$rfah22d!sukxGwg+cWHh5Y zU9rIG02?K=WaIShZm|OQli!TPOR*P2L|DoAmrUJTp-2xb`vcjEi&{TQTEv!Peadso zKMHK;T6B_ZSNqv%V8hDFeZLlXA1Tk7{_IG_cP!zvp^g77Bw9u!o|eW5cX4hE5moZM z4#wsq+B!t|n??F74_!{n=JTlIxA%iKgmlJ4&hV6L%A9GpFGVIRTk>|#8$#MKfIvs* zNwkE7LsV|F=fnJ?`6A!0f1iG7rWSO)ICCaF z6G73RdW?KUo24E9V$yFL-d#l-N2qXnvdGbqL!BqldO>#CE>34b33dZtIF;Oo z@kK6vJyG1cvXw0D-#h%J>nI}Th;ErXuP3n*UASD<@ zCV2b98T8F(*l)|f=iBC4bVk?4O>LH^WJ02*>ZWSY*SlS|WZIzZ;mESc&OoFdR%m|e zIzL1OKVKoDpi)CeTVa%`hC?^vyNRBSAIXnKcdh|Q;Zd*MsyYkA){VYA!pR4Dec4Tp zfQq^QSh~arox64HrN}k0?Cz! zb|>lqah0SK8~sX6?leLNqnC!9BQp8c86y z2Z9HJBuFD6gy3$CySuvv3+~dmL(t&v?$T)PBKw^0%^BZ$_m4a7{kQ-0pa-khw3<)V zta_@Zw%A44{%In(BQ8m$YM$WM6~K$i$+T%d3_aay-d~-n{BP0A9HXi zIsBINdPv93r=4Tk;#H$D!vYI=Mkh|ej~N!8Q|z!iCXang&!f*?>*ZKLgwmC-+T1q! zJ#es|ad29v=Cn28-{a@&;+={1^UEZvnck>QE-spOGz--haK;q$4k7G}yxRY!MGUHG zl_40wi4Y9YdGjJOTtmjmDBTYxatrvN9dA9NWkc zWXJZ6V`1CjN2U-1s@N0mAxBq}W0;i~zv1ld0H_I2(g8T^7mlY?PzQMokObGvn|NmN zNA9)j>C1<-*8Ay2rn(`fZ>(e>t*0&CAI|h^^+SVbqfgoHTVJ6sPgxs$WLPCVc!gN< ze95rmut^u!32=AK;Gb*|LIlnIK5-fZFXR0{=62<{X^O2TpzQWzMi9gD(l#Y8oL!cv zv0SB-BdIc)@1qPl@r1R-H{r%>JG2m6PdXot1ob`X^@g`)Hg=}5;+TcLaCGrLsjqXA zYsxnW!uPhw3Rm2$(f{_8WJnhzN^E+>!+D}kMMK6-ahh0@X~uBu4EFizwRzdjSD{dn zItbj*aeyyLvtLOqAI1Eo8m(T=#%n-XS+Td$?+H(f#17=x&S} z_~+fmg8Qwj=nT9!DOcO#&uWoS#`ZMp>XA5t;~0X~SKXH%t)3tx4Rc;f)n0O)p$>Bj zXNJJ~U@K3g6UZFs9d+ZQ_K_swrrMjWzVsnMmxQ1LQ2M@eK6l= zJXYE2vWTSbQ0vp>o!eA($(uTTktrS{Gk`=7jeH{@hP1lH_$(;z6t?2^LbfAroBPDb zL>0xGl_`R?abiHSX8N$YBgp)Aid}vIO}UHCU-1PArB1`B^M{^zeTy1%{EY>m*%0ReiBTT-%*aw(r9@}$dRm=6DKn&QTOXjZ-Bf4qgzQqJ< zFZc5-%$<5({=~$)aFirEBS#S=G;F$DxZ%z0I`l*5Np)@{bv5;+dgGANR*4>&KTm4U zGjZBud{*gnLFwcJq`!ozBZ(eSckc=8&lcX6E9@i(K*+lv>HY}MqQ!1K_fD>K5Nhdp zw(wCCRx{^|MvS}+7veBKHf4Tb?0q9PB_x%1+TYB4TN!jQ(0K9leAgDHX>y9v>F1Ks zap;0qfQFeoOdd~Sn9Cx?w6+X5&12>HbgGkR$!{9Wo3}BuJ~w|@`B-1jR&`C!#zAI2 zWl@9;-kmg07j$`|x@m{x%=w~1Guw(l?sa6tmw~(p-b>62%awlCfsFhxi(rR?T7f9p zgfAcKBfuG5aRk`}GhyDa6<%^PiWq{)r)?*c{Nx>tC9n!SUm}efvoYT7O-&z zc|u3+O$Q6orJkwr=vjoim{FodbThAJr9@{~c^cf`qZ)Wtijhj7SS;%j0|_DEQ?5Ys z84rSxR9lJC?Bc{j?^|nP^??sLw&(@%E41@=4Q5Y>5{^6laMkk7+}W&H*P$bzV?686 zjM5ODm(zEB{AbLx7|0IgJJb$Z+*7^9DcQ$E$^!wNHZkcWnodF2S^UGouAN$r)SU(V zUqmu+~r#L*VHAA5RZ)644|ecnMIhmqY*%=(P3z2-_{t zxTl@;G@J-jVF`jm&NiqtX>X6868PFn-vQLA%4R`Ukkp7xv!ANnO@I4Jw!fcfoS zT_lOm<(kmQkTooh`@Je9FZ=#s(fQJ}`(}U++8Awi`??x?R<_)c2x>;}R1*Lq!$v+A z=89odPUK#$55-K6KYLzQVhdR0)^f`bVrH#M=8iZKwb%!C|I|>hB5Ny^)3`s@$K~E# z$N3;TjXAxUA4dM=x1_!n<%(3MYA6$C^G_&0*3uIyyfGuEA3uy?jzw61#$g~CMkFH> z3r%+uO=#9!$3LQaaUzOr6za_K;%bim{jc!Df<-Zp#+MXWw@BDAX)2lCp>R5VHwj>0 zD(En}|L_~RL|$ta{p@84NL^EnoLgh8zc`z#CWR&77M)kWV1eBj6>6}k-|P%4O(U+CdxWv# zvacvrDVmgv`DBhE(fWsLXaZH{yx3eY*Jj(Bp26u1hi7<`yn&=Kh8X}9y#@4%Wp<8F zJ#5`#ap3m;xRUf`>iKrs>HYY{WN#!}*ZsQEeDbe6CR;jf$f)?bmKV(Wy|~l-+l20FZz5-gb;A}aAaRNgx<&#Q|Qbs16F#bF8LW+^B?~py%=CsPJ6XPsR)_^Ui8Sx2IQ>P>#z(6m zCOqhLYdMo2S#NzZTuJ=3m)?hKnd35G8oobs4oU6NW-jUYe50j6ie(p3eL@xh4QmQM z#wA1h;WjSb(c*g$>I+Br?v1zfDWB{bUSKc=?G^m|`ue6ZdLIZ9y?z>lCqe;`!B21D z9(!Zf@DDJSY}$fm6n&_ndu;kWmW}`wvH=@h-Az!m+e9Pr!G)Hr45i^>#<-IE31~O> zw#u6I=)^I{d(D(gX4lmp#9xASeb^-(VB#OO>vwvC$#o+RF!7hVzq_-m zIlf(=s|O<9ZMUtd4HjV_O~W{CtAI^Lwn+tKi786W2-e&BF6d~^P{ullWza4q!KscG zYGQ6FXwKGs^zj5!1j%@^8LS%Y0)%nM;>`9fhS15N$Od-{#F9aGxrL)xfMB!q3#wqL3#1GPI?Nu_c1O4&QOrwxG_oaX?z+S=`=nR&9E5?m9>8@cAz{*Fn~${f4>07HM-)?|J}iqC3*8NfIys!+z8|})Tb6i&wIb8LbVW~c6%&_Dz>D>;k=xiM zMWDt~+M49Gps(WvS!j)N;)MFI+mPQ|hsE1q`-?u>+q-;u-MRQvv)jYv4HYHSiceeI zzCblA_tXS2Lc35^PJo_CwMc!5v~Zz;^<&k@{8|UWj<(t{VpB>~*k^u7Z(9C4NeJUm z_?qkBm4$T`nY}fRbZt}AA(s-^A$b&x>K)e4XtZI630etqhIFc#OS7-P&*K4kY=&O@ z1_AuelkhtAIB91~54sn!c-}=p0+&>QJo~blne>c@sZork?Wi-Whz6mOE6e~pRNBqj z%cIA7I|-(wEeoWr4N(Q*GQR)RC%w^aPp85FVJs9{L1;0)$|Sh`%CBkg zX{i)|VjmC@&LRG?U8`@+eQoO!&YR16bl*SqogY!iISe3FzWibjB+{wG4+n_Mwqb)A zdu;&LX=u0Zga5CH3SVD3IyXKl5P`pU{5*j}BI2vGHw?vd@=nq$0OZg+u1t=mevNm3 zyjdepv#!%Q-(*-~5@oSA!-nD~g_Lx7_}U96x9|%{@7sm zJ$=4WTN?}f+Fedm>b@cL(?FU~W%>;ZVrnaz~OB{a;f768h%Z1m^I|!oh@R(KXbY?DQKJ%_e zDS1tT0)}_@hv7LJ<4iY7hBu4XsUwy~13x>auH!=X(VW zttX}^*%(TR+W+vw7WLwEcuQF)8qQ0-Bo9^d8-ZyDft51p!8F^_yLN>y-n+-=vx<-> z_|IR+@+saE=kWV`Qt79u6und0`WUDql{&7~iK^;kU^_&QmXH;|^!|hjI;uL5Q7Pw9 z=hU{J!g#RJl@X@9FGu#%gTw7!#9Xe?oS{?uT`yBcXww#!^y1am^kB)*k}v4CfPwEJ z9L%$75+WlTU=8u(9p@R-*4SSnd0?q1I!;CDlNcPz=-T=EPUdO5gDymH0V!eG{rMN!L+kX3uc!y2@GU;*HYn3NcbZDxV za77vMpYG4;X)(U!*B~8tx*vZW1O(G=GB3N;3lZa(SG;=vb`>=HgMZ=Z=Oh>hThq#8 zbS)O~@h($RFwaLaa0=O$D4$(pYeW8I##(dftq)VarKRb-X8`g2YSyfJP==1~8BDaf z-KRx_i27C^Vb(!Z=N4TOGU#@~DEA_hg@A!xL_LPZkqeL6F0kz~+nqL|T$KDZ!<1H> z0?P6>QkW#QS?|uEV6)8qJAdAXi6LTvr+Q-|m}8rTOJCUHFc?Ita2z|F@3qC(TEM|0cMPcx={xuc3x5Sj zAw?$S2b#zM`YTf-G#UP&}f8Be*&AyiB*1;fKQP=ED3rbT-E9G#+ZR)GY+!vr2y>qZATL0lN-pdbNg^@xDSz6zLf(US)C7hV`3q^k;fsd!5 zHBkH1*3hw5?|tHOOojJZ3i;BPeSyKr@7!;bqy85Z9bVxh;F6w975JdL)Yw+{q~@dT z4o`B8<`%;EoND;u>oOhYeFV zF|@UN@C>6`8ielEH`~M<2`gHdNy}HyO>H9Ux$2JWUrkybaR63+9qHj}MOu3Idj^%B zwYNAGL<72fmrNA_ATi9$WHoUz2j8luRdmx~Z!5q&$Y*W&ER1ulPsy|X3w3n%cMaK|B=~@)A}U%tlH$qZZs06%kQM#mv49QWxmMDEEYIlX=0tH4>JwP}MRB%`4I{$>7Ee^@;wcbLS1ZOoK;E{d*$ z$F2w`M!tE?_$P_3E=KcK>P5*uV^(EHgNTzEKeco@=?qHExLQF<-0u-Choshcny9diUo$bdt1Si3%tP` zYCiO8+6Hp1Ig`p+ncB?g_adG|RkRQ-LJK5YfCrpi~rzO_LFaY(!@D=+_9U&~%t*OT#*4 z4pM*q((}E!oI-twkN#kSKu}*SYtnbdXoL^1wwGJ{@KI{lDOXoTh%j4OKQbU7;Sg(( zVWV~40w)VE*h-*_#QMu9<(MzQ|r-iPBjlLIy9!-^}Mz!RF7=+w>E#X^QCUZ%xr+HuXj}m4=oR-zr{g1vJ_9xMj zHV%$2+mN5%a=Enf@(YTLT3Zp!suh2f6Z1psW+KYrp8zn&Ad#pSRMREX^Zmdn{=&HHq7?gd;59FaYW z8J|0|#U^L&DkJ-E#eYdViwpg!5^>=_Q&5NK z%)MSj;(T!TVs<{!PQ(O>;eu9BZDHIb!CIe(oLIIJTkEzLvf?<&%LLj(4OdXHoOHag zcI9GI;z@d$W0BcCxeeKXpO$k*L;$B^U zbM8XEmlfjZm}Wt4w>Q^$%v-bAemni_nQDnlgLkD-%`P;(pZ&Pk)~j|g>*O&9+}{O3bLNSk_(tVN zdk~ns4Pr;W&TPa)S3~S{N_Y?7J~4diXrL?ERgd6if&6eNMX`A zKiJhe;_8La?ag%(bF)YK`1Ye&4qqBdzEI2bg~6dyGzr3%#O}(xkQv~mku_l5X-z}- zXgL=(OmB0r7_$1J8BJZUKhA)-$ev!QQ$Te_;QH~Y{dJ$^_?KaG%w9$M*|c1=NkgvA zBUhF!o}u50Va@`G#C4n%Bh{D58*PYLG*qylIZq-Fy2=jMpw>0~$)tjGd~HoVW+*6q z^qg%JsMs~bJ9ryvV-&X7|2(qBoSCAgKvA$OF(!_4Hw|*aSoL*m;&xp7gH(@c2c#%* zu{6-n7Geg}6PTl7I7jek6lrn&oUSsrn)N0aNoinOa`pTq5!P0gj$|~qHbK$;GzsQ; zqL)|B#nl1dQv%c%8F|&W%BAJo2IdcvRr?hl&o>v4) zbaL0$O6O1J?K$fq+nLrtmj#$F(m43HO%{CyPs~>DVbzF zy*oe6b5{&;>AksbKOb^?Tg*9MzzeP@cJ(I(F^?&tdm2980P;1F&kh9CJ~KW0=18VLt7X3+LNU}I{X*>5?J0)K z@p@dP-g;lU#d>`6>h()c^BEv*_OSAaRe{s_*R#c6+R}cmLgKqIqx0TK5~K{OXs!4M z0EKGWw`NXsQp-LhQ9n%@3^_&^OyFKTMyjte!nwQUylb;(=8qOR62Yu*)=uHINqA0v zAh#yU<%oS;7T^NHEB(V4iEdb6vX!5VK<@jz&$vUg!CLWj!c4^p6Z$B&6O$jqwW zt$Ku`eWri|U5f8rZOO5mYpRnW^%@lo?lFQACQsV{C-x_%R8*ugzg^3yz7a${3{U%Z zQHiw^%=~WVV+4ikoma-jnzy&D4WIl^=0xF1dU6MoY`^GvKeve*ljjS82{tcIB*WS& z9$!MS=KO^2&Ny9QBYxA3ZQY?na&+cN4^HC}jIr3drvv8tEc&kcy>ICs@&dncT%)Td z>+!j%S(5@(w}5C^-=M>C)zd>+Y6^a4HRwC%goA~+=ZwmpYTW19Ta}Dbt4LB z5Ygf;xSLWkc*W>*oVePRtn$W(X<+m`OI{HsB~ia~&2*@_w~l9fUp%nrnz^QHpS1Dh zu72fB;9I85;@>;?ULdbyW|(K>{#LFg_t1-YxA0U`It94oA~gI);yo7F z%wkF!BYK(K&CC|YMdpe$+a!u{#CyRTRu<+mC$O~8!X z%;8m1XPuT?#dXg=c0VEZC}H^zXW04PU@wN12F>E42M;MdLi6 z(nUF}9n~T8P>?b~HU{pJZ;u5~_iVy-DDfJCj1lmSfPXt&NwMW+-8t9yEs2Ig6{%MT z0v<;e6!Ib53E!968d0ptD;7zDB)QmT+gL?ZDMaBK6K;{LE?XKx!2P*oYPlkgrknO0 z>!sdpUuUS5%Y7bq0+pP)MyQ~BhA7wl2sEw`2!B(V^|ytA!%d40B=c{j#SQB>EBbF` zWyggw-ut)@duHP59kz3Y2llkCOQx@pr7tj>QLgP@*B+9oe&UQSs9u7?d356y*%94V zTWCqVt6g6HCsMm|TsIg)Z?x<|XaMXv+&?q~x|o zdtLl3KPnKZBLR-g)F9&B1yy^<=;FR3d8h^J_h9rFwM%f4L}obPtw%$SUwGj$H2Iw= zfrI*l30S@sw zwPc8;l^qp1?TL~vjy%MNIq0qyn%<6#_m+-((r?>~)NyN&TN?uPvS4{U>d06TvDNYH5h0==6#c=FXQ8=a>IKh5)ilIVPw zUOEPV7FsX6$CauFs^|Fj^L=^FOKF#{o?>74siFqZPdorPz8b6(ISI+CAJkL*27UB=MfA zxE{C~jkpH4*I76_9ABERvFx?bMje}Qp%MPz6=oozmC-4pGD6a|CjX|nD3-#?dT4#&jjYd}clL|a z=i-gWR_bAenqbG2rXudmSeUd%bM&a{Pz{EN#Ao=Kp=xSRG*O7p||!>QOEUW;4napKUo!ATKy}h-hI+=(e(~DKTQOKsf0{j`UcBE>KQQ>Or40`B=15M zSuM=j>IMy?XR*o-MsLmEXuiRmL&9$p+*v>Er^)DWIj2~bIh|c}+MGR``1Ax@1Zy)E z6>;c}@6hZ}J#+TZVb9HRo;QWSaI*L^xw?JaE`V~l-@f|z zDq(55b5nE55dKsy7@o4vM?nL%>g3_L?(3Ud)(;h>9#zEn*73Y zU9h?V>k$r}e5OQD+E3eR^ZCq^Mttj?B)q7hpCL!y_Q-9G#7g7itt6`; zch5vC^l~1#x;`tDZSXM-D78WYJp~ob0k-IT!)HcNTa};jQ)y*FGKUDv+SsT0;f2)% zFU*NQp=@||wFew}O_~Eiqe1-Y*`X^0y4p7$SXMZe9&mS1bka&nB-~pwPbos{jREWE ztK4U)SPqis+hffB;@mf7XV&236SG~yRiJ=`GRg(o^pUNz+Kg$-m*w7X__d*=WKOJ! z-1Z?5y~cX?kr{#t=44DWvzcI`X(ivE~JMt z4$hl?@ke?5&2vC$t1PteHqtO>{e~EXdkPSHN!@zvHN5B`o#XtDgp*5r_0dAB%cJGV z-03jdlOq)#>?*{&x$I{hbJtw~+Qq9&ra8HveXt(#=t7?J%uR>fAP-6Q6z*!<$&ExL z9oGxcv!$A8k*7bT!WA-U7KWi6%Ib?3ag$tmZLZ1U$#oM>Cb$eoQOrwZ_Pv{WPed-_ zbiOCDe~7;HwGZ#Ypl@$Ey6k3j~%$`7kUOz&k5GVAPbOe)D*$2N}u_@>m+=CR{Co9I{I>jl_eF(XDKI~pXE_{kbc{TNDofVH@1v8#A=b1N zP7xO*hcxwRV1xqdkg0!$r!5%t-W9V3!-8S@V0Vf!Nt6n3Or;)noH5pz(k5Hi``%P?7gK_Xff&Y zmY!<#UteWg-yc?kg?q0A%P=t0Flf4CsVPk_i-aPqpsuo$7eP!;Hv~m$L8cx`k8o5R z#I4F!b2sUaW5_QblLr+6RkvHp0v-ipx&l?+*1w-MR9AyOlt&xqH8max^l*_7XXNi4 zy?1nBF#`RR}$Y$&JRn18p^~nC9uY&scD%!1!B>+Q3nLUAj}Ei z5I}H=$It9~YuS9k%d?rR1hs6PItH8plV0`x4yvO0rl|xxM1ETMLt=AL4zV#Ww0M&y zleHG^L!iq%p->7nLT;|oey2OG&5gt6`&=9a-U#VD60z#bRJHk4Bfem6oux!_rA8Q$ zP0UH2{ zr<@ef&*-3PgPpM`hWUPGdOt6@=NH*jN$-&wG^IE0%^6oW4^`TD&*#*vbK^M(l=grk zj5pGd7aBhbLK`I$p1LVzTyVTE&Rm&3;WCJ+oQOUlUxsnS5Ga}iSo`xMp%$u+|604s z#XP{)1%*)1e43e1iN23Lx#x{E9Na_wSfHu-uPV~f-C7ChTHON}5=$QNgSU&6fp1wd z+pU=F=D?R0`+1ET3BAAaoHp|;eCV$V{gfDcqx0_zpC%bL4K&{m>+4B z+=Ds#&%3uzH)`a%NYGaLf1r6lTO+?)cZbRk*rj zQCHse<_pOSGkj@6=Ze`R!`&xE^=2w{;2#2qng;3-@};6KF5SeT>zPIbtDXh~KO!RZ zePC?@j>Z+Uay7}c{3OPc#rgCVZUq=}bKMjvCMP4T(IT$c;0Mx+S1jKDDIt!6bwmZt zw8-P2AxB!e$#D+TmY-54S4pO#jgG{jyqSCUGg-8p3b?1i=edVQMBHIv3CgEuuBSl+ zQif|3p2C7u;lERi&ZLUN9+?+qXPj2*2~LK*ed2@hSmH~LDa3>07r*#%)q7Vi0&~7_ z?d`tR7pDXg_qP`nOgBKab>*v;Xg@;#^w$ouj3+W{FbQFQ5cwwAiwTVL-9vBG<9D4^ zJ?{5+NWJWJe}UaFIUh3PVb-kE>YI@FdPhZ=7>;s~R*qbe_AU`|tV2IFe`M`0ZTt4; zv1LHni^?FU`>rd;ulJ1N3gvVrOb?Zndva z4oaHpQbCrI|5hGKy4zrXsG91MqV-n3f#nz4=&Erw9dxPzv2oh~V+GwsV^UmU7#x1{hB`XpM9})vb>{?k$ z41M59Y2f>40u(Fu&Ur=pQT*)G-&OxV37~3^C>kmZiV(MDgxkpYaMRnxFJsidx6yZJqU&$BX%L z9}XMDF4gcg#{y~hgZ0!0?t?Nhms#e53)!dd^(ETr{8gzCE3$dZ&3TdIO@OIU`N-~kJ@&istZsx*yq0SVn%gmB8y(t z1^I_SWLR2(D9KdhLy#k8^3r48?TYo^H-m`dz==X6#-;~m%P5rE;`%C{M6dvQgn)D= zhWzo>!V4&js$QJPg7VWhe_$d=$dM?znXEpp+z@2Yohlu%mm-e!8Qk^vXA*;qXO`^GDGN{SAGC+$N_*zrQ__GAFDT6${5AIDY3 z>zX%tp2#qH`6F3fOL5aZq9J)3{R@Y$(9>B{1YH7=HX@Hn`Sm{T#I)jm>6pUT3w%ds zA1c2381p#LQW6!DuAupdbe(O_%g}T9RDJqM{Z^)I2>mfZZ|!g>YnsbNg0wb&P_@}C zekF5>KPWsnehzxlSNQTOB41=dWy77&-Vgm!ah})K<{lm(q*t5F)A>7`P~{5(`rsCea>sKEQ5-4x5%c4?M()*hE@hV*M@D`&ULbkOS@+Db@_#uL_q& zT1#vA?uh#Bt%F)y|EP?sY8`fX_ezw4_Qb+9Rr$L<(eLI2z`k{$W~zNG|n z5ZFX`%hL$GNB1}6!_dP^#+<7|UR|St6BIAWp6zdGZ`S+cCMP^ydwh@@!b^V2>K%jK zu2kqd1PY%gZPlFb}%HWJs6}_rwG)<^~&@*t!$8l7HpdfX}Wt3;oH7#1xRcs zE9Gp-#yoos!X}+f>5RX~r`f$xx&JPEjsdSkgRH!7cTB8{;dZ@k7*ljjVUX96So%_I zHfP*{3hN9npd_N@8ej|C;7GBBDMm;Hu4#?7N?pg!@|NC9v{_*4zCNrq9AdN$Z7ay8 zkBFPqfAdiYbl@cw#(MtyR*S#8Z;j#E1Bwv-h&*Fgz&sLztoM3kWBnVw|NfRU;1UxO z+ZEIRaq#SOlCA@QE_1?yc!I{gklpn9S-nIMKCL$u4$nPshubcUZ<9ms&$r$K7s#|o zzT0pk`IQreDJ`|tbonCFf$83Kse^W9VmPqu1 z^IIfVn(SYj39s7^K1Z2ECd{WK49)fL?G11a@ekc3%vnNQQbis;hQ}2CpN|#|I4lh4 zJ)dFdoa5wc<))D8?1epyMegQFJHwTx%U|nU1G@pp_zK1SF^?PmvAEe|GeLy8P&|GQ~=3+%&cwX6Xm_rT))4 z1(JXM_dmu*(FSxEi|mmZxuA!qCmhe-5%mCZL4r>S^fvM;h4eq3{m++JR6lBstLP4! zp#HCe{P)0b8HJBJv;OuGiY1iCo*=bn)G2>V{C_s~`yUjr6{5d?!ommW6SHrG{C}VL zfAzr)JQ2NW=5*+%|56j(9>@I(PaDCK|GAHde0qXr-@wJe+d?_~3z z$@*($|Cy}c82*oB{e>C-Y{TEM_z!0NHj(}T_`kH#KicrO>i)-c_-*I>V>F7Qh4Q{3B)mNZB8!j(-f){~rugs^^gPJy7)bBx@RD!_>V+4T`I)PNk1K+sEmr zFR=Uru--}sMmeEj(`LObuly3jlz)!>b-dw8onyIa_lxN&=aRjl-WX3$(fvzrFfMq2 z5RIRmU1TRGSIX(*6QhNfT06NkH~6~b9^vpX7u0|N(cdSr7^I`kNNJ1LKL2rA^cJC@ zYK=o_RAuRn9VE7H8ovLwiz(lD$=MI$n!RwL*zfFycBbkdXlA+b`ws@Nd-)Xm4i(%}t>lV{sf|MP zb3P=!Hkzf?24&ob>}t>RNhih1Jtld(E$t(-As`>Cxev9$6r)ck>u2FlsIv$Da z+mMKZCpZI-ij2QikLJ4+qDWg$^}|7%&9&{)4}VYUGS1Qv?Q+G2{GW&2B{`2$1n}3~ z$xN_%`Cw8QQ4>1d@L}l*XY=?#)M8xmM9{AbF^{4TO1OJUp*{@5WrmGsq>*`X2lH7t zoXw&(r_$_;i`*q=39eKR!YA(c$n8ZysAW3de>5WRQ3?;H7Otb6R2;n)1&9+Ax7fx46dQapaK7I2I{~oGTZ8n5k z)d(cGpnO#%j(bnTb~GjKGA(wlcXi*?@cw=9Dj7DL>mvWSL4DxEa$p+3-PY0cA$o88 z>HKgvhBv{0j+>N#1Q)iRv+;Vm|AgyK8-1g<61cW|==QTPm5(~i-swYd(ZbcMy|zzH z6B&|dIumi7Q29dn!3z%8#pDUQnV^RTmR>x**IX$+&gTAerZ7q2s-J?Hnhhl- z&5aP?-Z4C^e!zEYVb!9A784M0cX#}GC+fPXxSiC`!b#H!w?&ds&BTD;FV%Z^=}K#k z@qfIO{qd|<2|09{DS_{VYC^;;Shy1PrCB12<++{AM6m$J;VERgy!iD@(q7L+l?ge$ zmx5Ge@R=`%gRp|+g~uBWYPQ2k+UvulS5@y&|C;qz1b{37S7u570l%2S=~NF5DF|wU zo?@I3T;ZWT>c+}brk7uN{#n}9)uVJE!)3^;Y))56DKpt(fa1nXeDEFU=&I)Qe6c3a zoB>Vzw^DBcM931TtS9p4yZznW_gg3Z4vQm3N0H8gHK>*_J>m%?V3njZhi~%-oY>`w`a zzh-${)m-=1v*Xv=; z|2>R%6v9V%2wuWCfVUlGh!gliw)v$QwN@R+?xOS4HAV;GvMR9 z>zaG)!34Mj3uwx-f$y}zp(Wl+{l{WbPapcJhCD?C!NbRUYjz;Q6Az|9@bOX7)LdcW z`_B$66Zi)O#dLVX=SM{|Ff!WGPznm(hUBe;!h=;FSw8o$0Q`17VjsMhnE8KqJtbNKGURq%Rx;yW~f**RTO6>r!_bKe#@x;SMaDwUW8UI|3k47wrY7$gMx+B?4z_m|ykUh9T(= z4~?@K2}*UzVqpj`3&>tn+XSg6NW+m-nWr^Q-xuID1EP|OSxN;{Iy{>xXH~wWIy>pm z7o-0}Z2fs3FCG;doOWTkY!bApjSG;y>%9*Dv_BBF zE>pg~JH*u=YFZacLgxvRL{C}|p@WqtN2C0H=T}M{iKCc0<1mt*K^y>lOA6z+Rf3k6 zl>S`aJf9Z#9|rwo6LN23ySCAc-zo3EpoJBrkgHMa1PE8cgUc-0tqvqo*0aZE1D)RK zmdZ6@-i=KY1Joqdw{OcT7DDBZ@Jz&;?1Pv3o%Q9zfR;VJ;OChht@F+9Mu7tzzNx*$ z;4*#K0sji!w5-GJq=4zk@k=f_A}gRkDCjk9r02| zAfnl^Iq_RW*WtesL-u(s5AXq^f*z6*cZmdT z61;*qr=rMx`PO3f#Us=J{O=#aD*7*2`Y2r?R5WJ4Qx}uk382zlmrkSzUSRNogX z<@|1!{HWgjQo<(w1H=Hu`}P6XD}1AyHVd_OH?WLQ{v6Fgf|GZpk=ju6J4)BtTGwXT z=cmg5YePjS(1l-6B*i}#22+@V3I2y*;1V+vqUW23#-yHt6`)qh+2gD?psXF|f$zW(Rgw7vf9cV|`#vRX9G_M2*sAwL0#EW)?_>;ez|LBjnp1i-FZ6(D5som!^( zkFelTF@T}=-KnY6Iw%g5Fy8I6YO7WQtuw*qyKCtyn+wE>U&}L;FqAkOn?=7R=K5~G zi3eq*jROQyX8gy%fAn__&<5-G?74nO?-?<-mzYUpNK+lPpYrTBhSqmJ1+*c?qLxNZ z(Ep2$iSxqhj{=LW+VV{YF5Vk%p7IbIbQLleGibDzja??mK~l$eAqP z$20sP4Ugc^v4N=Wu+GSP_&scYo1>qVj)DAacMJgm`PvvVG7<-5S513Uu^Q_>0Q_UW zqmTsvTi0`g>$hlA0-DdKL!9!Dkz!he1GDCZ7?ew;6DOSQ1^Nj(zh^xsE8a2L5zyLk z(elvns-z);yytu?AIhy@yB|TP<(#{{sKzqQ${c&ZHMG8t*V}kl)4wo(wZYD3r@k|c zuCn>_?a_K8dsZjVs(TW!dUO2sXJ`*Y`qv&ZM*&o@_1yL=I9Iq4Oh{)}XHOpAjZB!} zwySC3R{v;c!&+G{YEHI#(gj{=NE*NTjBOFQMdeA!?&Mz7%|Wu7W5&l+0Ig`#WnR$3 zta^n<(SVn?&;o;fK_pfGA7SBKV0>>|(cu>G02q+jE#q)HRKMcl(o2xXOk~xnjls+moYQW;rF#pOkY1=Ow4oWFSVTD{M(T5 zW&+e)0q*+$nV^T!Fao2ICt{ola1VJ<1=AxxIfr&B3{xiGm0Ww-Pxb&-S=B06%tWt} zU(AWa22E?6p>Ja7gSH8Mi2Qf3jY$2^jKgE*`2r(*Rmu?Pt^uq_8)rE@c-b=aq5%^k zaf37>_|T#T(Bi^#bEn^y@?QpyI{^^0Z)EE`!}4GP{wjD>zV)&-P9hw=#CNHG`H9r& zgT{#iPU;C(HAqa>P0uo9}jdX{kfTV=vDBTDMLkvR+D5-Rp z;YI8LfQI4>3h; zpDT7xIY!QP|1T~0D=s23a$%`aNx1uWl%CS7P_Q!`lU=E~w4o~StHGft^4z~|1R-uf z4tSrEa6L+ThjeC9dIPKM5-b+AYh45VCAn>KKzo;uhNN%8NpK-MF`CROOs^=|d-aBk z%I!v;m3nPluY+th<`Dq71kRJV&7rijJX@A+ftATaK()z&)|C{0$>b(05aHmjf}C;P zWay?_#u#-VQHv_}b|Kq3X||C9U_E=KnX01bxq@oH?b_72ZtBICAne*|09n?VF|6JB zYi+oX022wknTG53hAz1!&Lels?&0lG5BHzJfl3^n=*}j5ICNDu*QPmL@8boa(ZfGcoa9CWBfynr0Y*GVhEJ5pQSi*wc`@Z3QX`aQ z6V?AB+5+nQ)az)+KZKYW4q72}

NdrL>u!qzjAdCOMsx2Ub=`Sif`~~}W{DA+T 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

LdB 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 From de818b3d3103926c74c2c4bcd8ecd92f0b986491 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 2 Aug 2024 17:06:09 -0600 Subject: [PATCH 56/61] Replaced policy by operation and updated angular --- angular_frontend/src/app/app.component.scss | 2 +- .../src/app/callback-helper.service.ts | 52 +- .../src/app/draw-frontend.service.ts | 4 +- .../dropdown-menu/dropdown-menu.component.ts | 40 +- angular_frontend/src/app/http.service.ts | 6 +- .../src/app/menu-bar/menu-bar.component.ts | 76 +- .../src/app/types/json-response.dto.ts | 2 +- .../src/app/window/window.component.ts | 116 +- clinguin/client/__init__.py | 5 +- clinguin/client/api/api.py | 5 +- ...olicy_dto.py => frontend_operation_dto.py} | 5 +- clinguin/client/application/client_base.py | 11 +- .../assets/config.json | 5 +- .../clinguin_angular_frontend/index.html | 2 +- .../main.4ffeb8decfd46199.js | 1 - .../main.906284c5fafc9464.js | 1 + .../tkinter_elements/button.py | 9 +- .../tkinter_elements/container.py | 6 +- .../tkinter_elements/dropdownmenu.py | 19 +- .../tkinter_elements/dropdownmenu_item.py | 13 +- .../tkinter_elements/label.py | 9 +- .../tkinter_elements/menu_bar_section_item.py | 15 +- .../tkinter_elements/root_cmp.py | 14 +- .../tkinter_frontend/tkinter_frontend.py | 10 +- .../tkinter_utils/call_back_definition.py | 6 +- clinguin/server/application/callback.py | 7 +- .../application/standard_json_encoder.py | 3 +- clinguin/server/data/callback.py | 2 +- ...policy_dto.py => backend_operation_dto.py} | 4 +- clinguin/server/presentation/endpoints.py | 10 +- docs/clinguin/development/angular.rst | 2 +- docs/clinguin/reference/communication.rst | 46 +- tests/reference_json_output/basic_test_01.py | 12 +- tests/reference_json_output/basic_test_03.py | 30 +- tests/reference_json_output/basic_test_04.py | 4 +- tests/reference_json_output/basic_test_09.py | 20 +- tests/reference_json_output/basic_test_12.py | 4 +- tests/reference_json_output/coloring.py | 138 +- tests/reference_json_output/sudoku.py | 3746 ++++++++--------- 39 files changed, 2247 insertions(+), 2215 deletions(-) rename clinguin/client/api/{frontend_policy_dto.py => frontend_operation_dto.py} (83%) delete mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js create mode 100644 clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js rename clinguin/server/presentation/{backend_policy_dto.py => backend_operation_dto.py} (82%) diff --git a/angular_frontend/src/app/app.component.scss b/angular_frontend/src/app/app.component.scss index 4c657156..21662e16 100644 --- a/angular_frontend/src/app/app.component.scss +++ b/angular_frontend/src/app/app.component.scss @@ -1,3 +1,3 @@ div.content-wrapper { - padding-top: 5%; + padding-top: 1%; } \ No newline at end of file diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts index eff7270e..1f99e88a 100644 --- a/angular_frontend/src/app/callback-helper.service.ts +++ b/angular_frontend/src/app/callback-helper.service.ts @@ -73,7 +73,7 @@ function hideAllContextMenus(): boolean { return anyWasOpen } -function handleRightClick(policy: string, event: Event) { +function handleRightClick(operation: string, event: Event) { event.preventDefault() event.stopPropagation() @@ -83,12 +83,12 @@ function handleRightClick(policy: string, event: Event) { let contextMenuService = LocatorService.injector.get(ContextMenuService) - let result = contextMenuService.retrieveContextValue(policy) + let result = contextMenuService.retrieveContextValue(operation) if (result != null) { if ("pageX" in event && "pageY" in event && typeof event.pageX == "number" && typeof event.pageY == "number") { - let contextMenu = document.getElementById(policy) + let contextMenu = document.getElementById(operation) if (contextMenu != null) { if (contextMenu.style.display == "block") { @@ -111,12 +111,12 @@ function handleRightClick(policy: string, event: Event) { function handleUpdate(when: WhenDto, event: Event | null) { let elementLookupService = LocatorService.injector.get(ElementLookupService) - let policy = when.policy + let operation = when.operation - policy = policy.substring(1) - policy = policy.slice(0, -1) + operation = operation.substring(1) + operation = operation.slice(0, -1) - let splits = aspArgumentSplitter(policy) + let splits = aspArgumentSplitter(operation) let id = splits[0] let key = splits[1] @@ -179,15 +179,15 @@ function handleUpdate(when: WhenDto, event: Event | null) { } -function replaceContext(policy_string: string) { +function replaceContext(operation_string: string) { let contextService = LocatorService.injector.get(ContextService) let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\)) let regex_const = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/ // console.log("Replacing context") - // console.log(policy_string) - let match = regex.exec(policy_string) + // console.log(operation_string) + let match = regex.exec(operation_string) while (match != null) { @@ -243,35 +243,35 @@ function replaceContext(policy_string: string) { new_value = '"' + new_value + '"' } // console.log("Will replace ", match_instance, " by ", new_value) - policy_string = policy_string.replace(match_instance, new_value) - // console.log(policy_string) + operation_string = operation_string.replace(match_instance, new_value) + // console.log(operation_string) regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g - match = regex.exec(policy_string) + match = regex.exec(operation_string) } - return policy_string + return operation_string } function handleCallback(when: WhenDto, event: Event | null) { let frontendService = LocatorService.injector.get(DrawFrontendService) - let policy_string = when.policy + let operation_string = when.operation - policy_string = replaceContext(policy_string) + operation_string = replaceContext(operation_string) - when.policy = policy_string + when.operation = operation_string - frontendService.policyPost(when) + frontendService.operationPost(when) } function handleContext(when: WhenDto, event: Event | null) { let contextService = LocatorService.injector.get(ContextService) - let policy = when.policy - policy = replaceContext(policy) - if (policy[0] == '(') { - policy = policy.substring(1) - policy = policy.slice(0, -1) - let splits = aspArgumentSplitter(policy) + let operation = when.operation + operation = replaceContext(operation) + if (operation[0] == '(') { + operation = operation.substring(1) + operation = operation.slice(0, -1) + let splits = aspArgumentSplitter(operation) if (splits.length >= 2) { if (splits.length > 2) { console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR") @@ -307,7 +307,7 @@ function handleContext(when: WhenDto, event: Event | null) { } } - let message = "The value of context event should be a tuple of size 2, but got " + when.policy + let message = "The value of context event should be a tuple of size 2, but got " + when.operation console.error(message) let frontendService = LocatorService.injector.get(DrawFrontendService) frontendService.postMessage(message, "warning") @@ -424,7 +424,7 @@ export class CallBackHelperService { }) if (call.length > 1) { - call[0].policy = "(" + call.map(x => { return x.policy }).join(',') + ")" + call[0].operation = "(" + call.map(x => { return x.operation }).join(',') + ")" } call.forEach((when: WhenDto) => { try { diff --git a/angular_frontend/src/app/draw-frontend.service.ts b/angular_frontend/src/app/draw-frontend.service.ts index 53d2d119..e69567a6 100644 --- a/angular_frontend/src/app/draw-frontend.service.ts +++ b/angular_frontend/src/app/draw-frontend.service.ts @@ -44,13 +44,13 @@ export class DrawFrontendService { } - policyPost(callback: WhenDto): void { + operationPost(callback: WhenDto): void { let context = this.contextService.getContext() let loader = document.getElementById("loader") loader?.removeAttribute("hidden") - this.httpService.post(callback.policy, context).subscribe( + this.httpService.post(callback.operation, context).subscribe( { next: (data: ElementDto) => { this.lastData = data diff --git a/angular_frontend/src/app/dropdown-menu/dropdown-menu.component.ts b/angular_frontend/src/app/dropdown-menu/dropdown-menu.component.ts index c5c0df66..9e27fc4e 100644 --- a/angular_frontend/src/app/dropdown-menu/dropdown-menu.component.ts +++ b/angular_frontend/src/app/dropdown-menu/dropdown-menu.component.ts @@ -14,15 +14,15 @@ import { CallBackHelperService } from '../callback-helper.service'; }) export class DropdownMenuComponent { // Why does the dropdown need this? - @Input() element : ElementDto | null = null + @Input() element: ElementDto | null = null @Input() parentLayout: string = "" - @ViewChild('ddbut', {static:true}) ddbut! : ElementRef + @ViewChild('ddbut', { static: true }) ddbut!: ElementRef - buttonLabel : string = "" - dropDownMenuItems : DropdownMenuItemChild[] = [] + buttonLabel: string = "" + dropDownMenuItems: DropdownMenuItemChild[] = [] - constructor(private attributeService: AttributeHelperService, private cd: ChangeDetectorRef, private frontendService: DrawFrontendService, @Inject(DOCUMENT) document: Document, private elementLookupService: ElementLookupService, private callbackHelperService: CallBackHelperService) { + constructor(private attributeService: AttributeHelperService, private cd: ChangeDetectorRef, private frontendService: DrawFrontendService, @Inject(DOCUMENT) document: Document, private elementLookupService: ElementLookupService, private callbackHelperService: CallBackHelperService) { } @@ -33,7 +33,7 @@ export class DropdownMenuComponent { this.element.children.forEach(child => { - let childLabel = this.attributeService.findGetAttributeValue("label",child.attributes,"") + let childLabel = this.attributeService.findGetAttributeValue("label", child.attributes, "") let childObject = new DropdownMenuItemChild(childLabel, child) @@ -43,7 +43,7 @@ export class DropdownMenuComponent { this.cd.detectChanges() - let htmlChild : HTMLElement | null = document.getElementById(child.id) + let htmlChild: HTMLElement | null = document.getElementById(child.id) if (htmlChild != null) { childObject.setHtmlElement(htmlChild) childObject.setAttributes(child.attributes) @@ -51,18 +51,18 @@ export class DropdownMenuComponent { this.callbackHelperService.setCallbacks(htmlChild, child.when) let icon = htmlChild.children.item(0) - + if (icon != null) { - + this.attributeService.addClasses(icon, child.attributes, ["fa"], [], 'icon') } - + } }) this.cd.detectChanges() - + this.setAttributes(this.element.attributes) } } @@ -73,7 +73,7 @@ export class DropdownMenuComponent { if (buttonLabel != null) { this.buttonLabel = buttonLabel.value } - + let htmlDdbut = this.ddbut.nativeElement this.attributeService.addAttributes(htmlDdbut, attributes) @@ -84,20 +84,20 @@ export class DropdownMenuComponent { htmlDdbut.style.border_color = this.attributeService.findGetAttributeValue("border_color", attributes, "black") this.cd.detectChanges() - + } onClick(element: ElementDto) { - let callback : WhenDto = element.when[0] + let callback: WhenDto = element.when[0] - this.frontendService.policyPost(callback) + this.frontendService.operationPost(callback) } } class DropdownMenuItemChild { - label!:string - element!:ElementDto + label!: string + element!: ElementDto htmlElement: HTMLElement | null = null constructor(label: string, element: ElementDto) { @@ -105,7 +105,7 @@ class DropdownMenuItemChild { this.element = element } - setHtmlElement(htmlElement : HTMLElement) { + setHtmlElement(htmlElement: HTMLElement) { this.htmlElement = htmlElement } @@ -115,8 +115,8 @@ class DropdownMenuItemChild { attributeService.addAttributes(this.htmlElement, attributes) attributeService.textAttributes(this.htmlElement, attributes) attributeService.setAttributesDirectly(this.htmlElement, attributes) - attributeService.addClasses(this.htmlElement, attributes, ["dropdown-item"],[]) - + attributeService.addClasses(this.htmlElement, attributes, ["dropdown-item"], []) + } } } diff --git a/angular_frontend/src/app/http.service.ts b/angular_frontend/src/app/http.service.ts index a9f9d098..b5acd995 100644 --- a/angular_frontend/src/app/http.service.ts +++ b/angular_frontend/src/app/http.service.ts @@ -46,7 +46,7 @@ export class HttpService { return response; } - post(policy: string, context: ContextItem[]): Observable { + post(operation: string, context: ContextItem[]): Observable { let clonedContext: ContextItem[] = [] context.forEach(val => clonedContext.push(Object.assign({}, val))); @@ -57,9 +57,9 @@ export class HttpService { let request = null if (clonedContext.length > 0) { - request = this.http.post(this.backend_URI + "/backend", { function: policy, context: clonedContext }) + request = this.http.post(this.backend_URI + "/backend", { function: operation, context: clonedContext }) } else { - request = this.http.post(this.backend_URI + "/backend", { function: policy }) + request = this.http.post(this.backend_URI + "/backend", { function: operation }) } return request } diff --git a/angular_frontend/src/app/menu-bar/menu-bar.component.ts b/angular_frontend/src/app/menu-bar/menu-bar.component.ts index 9371832b..d8b97cae 100644 --- a/angular_frontend/src/app/menu-bar/menu-bar.component.ts +++ b/angular_frontend/src/app/menu-bar/menu-bar.component.ts @@ -12,7 +12,7 @@ import { ElementLookupService } from '../element-lookup.service'; }) export class MenuBarComponent { @Input() element: ElementDto | null = null - @ViewChild("titleIcon",{static:false}) titleIcon! : ElementRef + @ViewChild("titleIcon", { static: false }) titleIcon!: ElementRef public isCollapsed = true; @@ -20,7 +20,7 @@ export class MenuBarComponent { // menuBarSections: MenuBarSection[] = [] menuBarButtons: MenuBarButton[] = [] - constructor(private cd: ChangeDetectorRef, private displayFrontend: DrawFrontendService, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService, private callBackHelperService:CallBackHelperService) {} + constructor(private cd: ChangeDetectorRef, private displayFrontend: DrawFrontendService, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService, private callBackHelperService: CallBackHelperService) { } ngAfterViewInit(): void { @@ -33,31 +33,31 @@ export class MenuBarComponent { this.menuBarButtons.push(menuBarButtonObject) }) this.cd.detectChanges() - - this.menuBarButtons.forEach((menuBarButtonObject:MenuBarButton) => { - let menuBarButtonHTML : HTMLElement | null = document.getElementById(menuBarButtonObject.id) + + this.menuBarButtons.forEach((menuBarButtonObject: MenuBarButton) => { + let menuBarButtonHTML: HTMLElement | null = document.getElementById(menuBarButtonObject.id) if (menuBarButtonHTML != null) { menuBarButtonObject.setHtmlElement(menuBarButtonHTML) menuBarButtonObject.setAttributes(menuBarButtonObject.element.attributes) - this.attributeService.addClasses(menuBarButtonHTML, menuBarButtonObject.element.attributes, ["btn-sm","mx-1"],["btn-outline-dark","border-0"]) + this.attributeService.addClasses(menuBarButtonHTML, menuBarButtonObject.element.attributes, ["btn-sm", "mx-1"], ["btn-outline-dark", "border-0"]) this.callBackHelperService.setCallbacks(menuBarButtonHTML, menuBarButtonObject.element.when) let icon = menuBarButtonHTML.children.item(0) if (icon != null) { - + this.attributeService.addClasses(icon, menuBarButtonObject.element.attributes, ["fa"], [], 'icon') } } }) - this.setAttributes(this.element.attributes) + this.setAttributes(this.element.attributes) - this.cd.detectChanges() + this.cd.detectChanges() } } - + setAttributes(attributes: AttributeDto[]) { let title = this.attributeService.findAttribute("title", attributes) if (title != null) { @@ -67,31 +67,31 @@ export class MenuBarComponent { let iconHtml = this.titleIcon.nativeElement this.attributeService.addClasses(iconHtml, attributes, ["fa"], [], 'icon') - + this.cd.detectChanges() } - policyExecutor(policy: WhenDto | null) { - if (policy != null) { - this.displayFrontend.policyPost(policy) + operationExecutor(operation: WhenDto | null) { + if (operation != null) { + this.displayFrontend.operationPost(operation) } } } class MenuBarButton { - id:string="" - title:string="" - element!:ElementDto - htmlElement:HTMLElement| null = null + id: string = "" + title: string = "" + element!: ElementDto + htmlElement: HTMLElement | null = null - constructor(id:string, title: string, element: ElementDto) { + constructor(id: string, title: string, element: ElementDto) { this.id = id this.title = title this.element = element } - setHtmlElement(htmlElement:HTMLElement) { + setHtmlElement(htmlElement: HTMLElement) { this.htmlElement = htmlElement } @@ -106,18 +106,18 @@ class MenuBarButton { } class MenuBarItem { - id:string="" - title:string="" - element!:ElementDto - htmlElement:HTMLElement| null = null + id: string = "" + title: string = "" + element!: ElementDto + htmlElement: HTMLElement | null = null - constructor(id:string, title: string, element: ElementDto) { + constructor(id: string, title: string, element: ElementDto) { this.id = id this.title = title this.element = element } - setHtmlElement(htmlElement:HTMLElement) { + setHtmlElement(htmlElement: HTMLElement) { this.htmlElement = htmlElement } @@ -132,25 +132,25 @@ class MenuBarItem { } class MenuBarSection { - id : string = "menuBarSection" - title:string = "" - element!:ElementDto - menuBarItems:MenuBarItem[] = [] - collapsed:boolean = true - htmlElement:HTMLElement| null = null - - constructor(id: string, title:string, menuBarItems:MenuBarItem[], element: ElementDto) { + id: string = "menuBarSection" + title: string = "" + element!: ElementDto + menuBarItems: MenuBarItem[] = [] + collapsed: boolean = true + htmlElement: HTMLElement | null = null + + constructor(id: string, title: string, menuBarItems: MenuBarItem[], element: ElementDto) { this.id = id this.title = title this.menuBarItems = menuBarItems this.element = element } - toggleCollapsed() : void { - this.collapsed = !this.collapsed + toggleCollapsed(): void { + this.collapsed = !this.collapsed } - setHtmlElement(htmlElement:HTMLElement) { + setHtmlElement(htmlElement: HTMLElement) { this.htmlElement = htmlElement } @@ -162,5 +162,5 @@ class MenuBarSection { this.title = "" } } - + } diff --git a/angular_frontend/src/app/types/json-response.dto.ts b/angular_frontend/src/app/types/json-response.dto.ts index 66622475..10a77b4b 100644 --- a/angular_frontend/src/app/types/json-response.dto.ts +++ b/angular_frontend/src/app/types/json-response.dto.ts @@ -25,7 +25,7 @@ export interface WhenDto { id: string, actionType: string, interactionType: string, - policy: string, + operation: string, event?: string, interaction_type?: string } diff --git a/angular_frontend/src/app/window/window.component.ts b/angular_frontend/src/app/window/window.component.ts index 3fd61311..f5d2604e 100644 --- a/angular_frontend/src/app/window/window.component.ts +++ b/angular_frontend/src/app/window/window.component.ts @@ -14,10 +14,10 @@ import { CallBackHelperService } from '../callback-helper.service'; styleUrls: ['./window.component.scss'] }) export class WindowComponent { - @ViewChild('parent',{static:false}) parent!: ElementRef; - @ViewChild('child',{read: ViewContainerRef}) child!: ViewContainerRef; + @ViewChild('parent', { static: false }) parent!: ElementRef; + @ViewChild('child', { read: ViewContainerRef }) child!: ViewContainerRef; - element : ElementDto | null = null + element: ElementDto | null = null children: ComponentRef[] = [] @@ -27,88 +27,92 @@ export class WindowComponent { menuBar: ElementDto | null = null messageList: ElementDto[] = [] contextMenuList: ElementDto[] = [] - + constructor(private childBearerService: ChildBearerService, private attributeService: AttributeHelperService, private cd: ChangeDetectorRef, private frontendService: DrawFrontendService, private elementLookupService: ElementLookupService, private contextMenuService: ContextMenuService, private callbackService: CallBackHelperService) { } ngAfterViewInit(): void { - this.frontendService.messageLists.subscribe({next: data => { - this.messageList = data - this.cd.detectChanges() - }}) + this.frontendService.messageLists.subscribe({ + next: data => { + this.messageList = data + this.cd.detectChanges() + } + }) - this.frontendService.frontendJson.subscribe({next: (data:ElementDto) => { + this.frontendService.frontendJson.subscribe({ + next: (data: ElementDto) => { - this.children.forEach(child => { - this.child.clear() - }) - this.children = [] + this.children.forEach(child => { + this.child.clear() + }) + this.children = [] - this.cleanValues(data) + this.cleanValues(data) - this.frontendService.detectCreateMenuBar(data) + this.frontendService.detectCreateMenuBar(data) - let messageList : ElementDto[] = [] - let contextMenus : ElementDto[] = [] - this.frontendService.getAllMessagesContextMenus(data, messageList, contextMenus) - this.frontendService.messageLists.next(messageList) + let messageList: ElementDto[] = [] + let contextMenus: ElementDto[] = [] + this.frontendService.getAllMessagesContextMenus(data, messageList, contextMenus) + this.frontendService.messageLists.next(messageList) - this.frontendService.contextMenus.subscribe(data => { - data.forEach((item:ElementDto) => { - this.contextMenuService.registerContextMenu(item.id, item) + this.frontendService.contextMenus.subscribe(data => { + data.forEach((item: ElementDto) => { + this.contextMenuService.registerContextMenu(item.id, item) }) this.contextMenuList = data - }) + }) - this.frontendService.contextMenus.next(contextMenus) + this.frontendService.contextMenus.next(contextMenus) - let window = data.children[0] + let window = data.children[0] - this.window_id = window.id + this.window_id = window.id - this.element = window - this.window = window + this.element = window + this.window = window - this.cd.detectChanges() + this.cd.detectChanges() - let childLayout = this.attributeService.findGetAttributeValue("child_layout",window.attributes,"flex") + let childLayout = this.attributeService.findGetAttributeValue("child_layout", window.attributes, "flex") - this.elementLookupService.addElementAll(this.window_id, this, this.parent.nativeElement, window) + this.elementLookupService.addElementAll(this.window_id, this, this.parent.nativeElement, window) - window.children.forEach(item => { - let my_comp = this.childBearerService.bearChild(this.child, item, childLayout) - if (my_comp != null) { - this.children.push(my_comp) - } - }) + window.children.forEach(item => { + let my_comp = this.childBearerService.bearChild(this.child, item, childLayout) + if (my_comp != null) { + this.children.push(my_comp) + } + }) - this.setAttributes(window.attributes) - this.doCallbacks(window.when) - // Prevents Errors - this.cd.detectChanges() - }, - error: (err) => console.log(err)}) + this.setAttributes(window.attributes) + this.doCallbacks(window.when) + // Prevents Errors + this.cd.detectChanges() + }, + error: (err) => console.log(err) + }) this.frontendService.initialGet() } setAttributes(attributes: AttributeDto[]) { - let parentHTML = this.parent.nativeElement - this.attributeService.setChildLayout(parentHTML, attributes) - this.attributeService.addAttributes(parentHTML, attributes) - this.attributeService.addClasses(parentHTML, attributes,[],[]) - - this.cd.detectChanges() + let parentHTML = this.parent.nativeElement + this.attributeService.setChildLayout(parentHTML, attributes) + this.attributeService.addAttributes(parentHTML, attributes) + this.attributeService.addClasses(parentHTML, attributes, [], []) + + this.cd.detectChanges() } - doCallbacks(whens:WhenDto[]) { + doCallbacks(whens: WhenDto[]) { let parentHTML = this.parent.nativeElement this.callbackService.setCallbacks(parentHTML, whens) } - + cleanValues(element: ElementDto) { for (let i = 0; i < element.attributes.length; i++) { let value = element.attributes[i].value @@ -120,7 +124,7 @@ export class WindowComponent { element.attributes[i].key = key if (key != "image") { - value = value.replace("\\n","
") + value = value.replace("\\n", "
") } } @@ -132,9 +136,9 @@ export class WindowComponent { element.when[i].interactionType = element.when[i].interaction_type! } - let policy = element.when[i].policy - policy = this.stringSanitizer(policy) - element.when[i].policy = policy + let operation = element.when[i].operation + operation = this.stringSanitizer(operation) + element.when[i].operation = operation let action = element.when[i].actionType action = this.stringSanitizer(action) @@ -150,7 +154,7 @@ export class WindowComponent { }) } - stringSanitizer(value:string) : string { + stringSanitizer(value: string): string { if (value == null) { return value } diff --git a/clinguin/client/__init__.py b/clinguin/client/__init__.py index d7366719..b0e223a0 100644 --- a/clinguin/client/__init__.py +++ b/clinguin/client/__init__.py @@ -1,8 +1,9 @@ """ Program base of client. """ + from .api.api import Api -from .api.frontend_policy_dto import FrontendPolicyDto +from .api.frontend_operation_dto import FrontendOperationDto from .application.client_base import ClientBase from .presentation.abstract_frontend import AbstractFrontend @@ -10,5 +11,5 @@ AbstractFrontend.__name__, ClientBase.__name__, Api.__name__, - FrontendPolicyDto.__name__, + FrontendOperationDto.__name__, ] diff --git a/clinguin/client/api/api.py b/clinguin/client/api/api.py index 07d511e0..5f8654b5 100644 --- a/clinguin/client/api/api.py +++ b/clinguin/client/api/api.py @@ -1,6 +1,7 @@ """ Module that contains the API-Class """ + import json import logging import traceback @@ -8,7 +9,7 @@ from clinguin.utils import Logger -from .frontend_policy_dto import FrontendPolicyDto +from .frontend_operation_dto import FrontendOperationDto class Api: @@ -45,7 +46,7 @@ def get(self, endpoint): self._logger.error("<<>>") return (-2, "") - def post(self, endpoint, body: FrontendPolicyDto): + def post(self, endpoint, body: FrontendOperationDto): """ Used for post requests. """ diff --git a/clinguin/client/api/frontend_policy_dto.py b/clinguin/client/api/frontend_operation_dto.py similarity index 83% rename from clinguin/client/api/frontend_policy_dto.py rename to clinguin/client/api/frontend_operation_dto.py index 71b45d80..05de8943 100644 --- a/clinguin/client/api/frontend_policy_dto.py +++ b/clinguin/client/api/frontend_operation_dto.py @@ -1,10 +1,11 @@ """ -Module contains the FrontendPolicyDto class +Module contains the FrontendOperationDto class """ + import json -class FrontendPolicyDto: +class FrontendOperationDto: """ Dto class for encapsulating the json that shall be sent to the backend that handles the callbacks. """ diff --git a/clinguin/client/application/client_base.py b/clinguin/client/application/client_base.py index 3978acec..d4767d00 100644 --- a/clinguin/client/application/client_base.py +++ b/clinguin/client/application/client_base.py @@ -1,11 +1,12 @@ """ Module that contains the ClientBase class """ + import logging import time from clinguin.client.api.api import Api -from clinguin.client.api.frontend_policy_dto import FrontendPolicyDto +from clinguin.client.api.frontend_operation_dto import FrontendOperationDto from clinguin.utils import CaseConverter, Logger @@ -24,7 +25,7 @@ def __init__(self, args): self.api = Api() self.connected = False - self.solve_dto = FrontendPolicyDto("solve") + self.solve_dto = FrontendOperationDto("solve") self.frontend_generator = args.frontend(self, args) @@ -99,11 +100,13 @@ def base_engine(self, response): else: self._logger.error("Could not find element type: %s", child["type"]) - def post_with_policy(self, click_policy): + def post_with_operation(self, click_operation): """ Prepare post request for API. """ - (status_code, json) = self.api.post("backend", FrontendPolicyDto(click_policy)) + (status_code, json) = self.api.post( + "backend", FrontendOperationDto(click_operation) + ) if status_code == 200: self.draw(json) else: diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 9a5cd95a..0c351ef2 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1 +1,4 @@ -{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file +{ + "serverUrl": "http://localhost", + "serverPort": "8000" +} \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html index 1b671979..de29db5d 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html @@ -11,5 +11,5 @@ - + diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js deleted file mode 100644 index 8ac64851..00000000 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.4ffeb8decfd46199.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Ve)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function He(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ue={setTimeout(e,t,...i){const{delegate:n}=Ue;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=Ue;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){Ue.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,He(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&Ue.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&He(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(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 pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cy(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const je=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;it){o=s-1;break}}}for(;ss?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r-1)for(i++;i0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=je.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={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=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();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 cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i=n)break}else t[l]<0&&(e[_s]+=65536),(a>13>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<t?r=s:n=s+1}return~(r<0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,je.trustedTypes))try{Vl=je.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push(""))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof je.requestAnimationFrame;let t=je[e?"requestAnimationFrame":"setTimeout"],i=je[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(je,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(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 Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;spe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;onull;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function Be(e,t,i,n){return j(e,t,i,n),U(),Be}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;sl?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n0&&(i[r-1][ni]=t),n{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.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:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{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())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!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(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){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=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}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(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,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 pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}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 kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,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(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={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/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\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"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){je.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},je.getAllAngularTestabilities=()=>t.getAllTestabilities(),je.getAllAngularRootElements=()=>t.getAllRootElements(),je.frameworkStabilizers||(je.frameworkStabilizers=[]),je.frameworkStabilizers.push(n=>{const r=je.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":ah.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){let n=document.getElementById("loader");n?.removeAttribute("hidden"),this.httpService.get().subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r),n?.setAttribute("hidden","true")}})}policyPost(n){let r=this.contextService.getContext(),s=document.getElementById("loader");s?.removeAttribute("hidden"),this.httpService.post(n.policy,r).subscribe({next:o=>{this.lastData=o,this.frontendJson.next(o),s?.setAttribute("hidden","true")}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.contains(c)&&n.classList.remove(c),n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2].replaceAll('"',""),l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/,r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c||""==c){if(null==l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}console.log("out"),null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n{if(i){for(let s=0;s{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({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(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{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(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}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 JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("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:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_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(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/ +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),Be(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),Be(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),Be(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Ve(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),Be(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&Be(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"->"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&Be(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&Be(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),Be(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),Be(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),Be(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),Be(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),Be(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),Be(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",5,6),B(2,WU,0,0,"ng-template",null,7,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&Be(0,"app-message",10),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",8),B(1,YU,1,1,"app-message",9),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&Be(0,"app-context-menu",11),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r"))}for(let r=0;r{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:5,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["id","loader",1,"myspinner","clearfix","p-3"],["role","status",1,"spinner-border","text-black","float-end"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),j(1,"div",1),Be(2,"div",2),U(),B(3,ZU,2,1,"div",3),B(4,JU,1,2,"app-context-menu",4)),2&n&&(x("ngIf",null!=r.window),R(3),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),Be(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),Be(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&Be(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),Be(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function He(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct>16&255,xe[It++]=le>>8&255,xe[It++]=255≤return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;Iten?en:It+16383));return 1===Qe?Ke.push(Ve[(le=Z[be-1])>>2]+Ve[le<<4&63]+"=="):2===Qe&&Ke.push(Ve[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Ve[le>>4&63]+Ve[le<<2&63]+"="),Ke.join("")};for(var Ve=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Ve[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function Ue(Z){return Ve[Z>>18&63]+Ve[Z>>12&63]+Ve[Z>>6&63]+Ve[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe{"use strict";var ct=Ve(919),Je=Ve(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function He(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=He(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=He(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?He(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function Ue(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return Ue(p),He(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=He(d),m=0;m=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;CeN&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xew&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;mw.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;ff&&(d+=" ... "),""},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;wm)&&(f=m);for(var w="",I=d;If)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||dp.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Ve,$,ct,Je,ke){var de,ye,He=8*ke-Je-1,M=(1<>1,Ue=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Ve[$+dt];for(dt+=wt,de=Z&(1<<-Ue)-1,Z>>=-Ue,Ue+=He;Ue>0;de=256*de+Ve[$+dt],dt+=wt,Ue-=8);for(ye=de&(1<<-Ue)-1,de>>=-Ue,Ue+=Je;Ue>0;ye=256*ye+Ve[$+dt],dt+=wt,Ue-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Ve,$,ct,Je,ke,de){var ye,He,M,ut=8*de-ke-1,Ue=(1<>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(He=isNaN($)?1:0,ye=Ue):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=Ue?(He=0,ye=Ue):ye+dt>=1?(He=($*M-1)*Math.pow(2,ke),ye+=dt):(He=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Ve[ct+Z]=255&He,Z+=le,He/=256,ke-=8);for(ye=ye<0;Ve[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Ve[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js new file mode 100644 index 00000000..b4262c38 --- /dev/null +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js @@ -0,0 +1 @@ +(self.webpackChunkClinGraphViz = self.webpackChunkClinGraphViz || []).push([[179], { 362: (_i, qt, Ve) => { "use strict"; function $(e) { return "function" == typeof e } function ct(e) { const i = e(n => { Error.call(n), n.stack = (new Error).stack }); return i.prototype = Object.create(Error.prototype), i.prototype.constructor = i, i } const Je = ct(e => function (i) { e(this), this.message = i ? `${i.length} errors occurred during unsubscription:\n${i.map((n, r) => `${r + 1}) ${n.toString()}`).join("\n ")}` : "", this.name = "UnsubscriptionError", this.errors = i }); function ke(e, t) { if (e) { const i = e.indexOf(t); 0 <= i && e.splice(i, 1) } } class de { constructor(t) { this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null } unsubscribe() { let t; if (!this.closed) { this.closed = !0; const { _parentage: i } = this; if (i) if (this._parentage = null, Array.isArray(i)) for (const s of i) s.remove(this); else i.remove(this); const { initialTeardown: n } = this; if ($(n)) try { n() } catch (s) { t = s instanceof Je ? s.errors : [s] } const { _finalizers: r } = this; if (r) { this._finalizers = null; for (const s of r) try { M(s) } catch (o) { t = t ?? [], o instanceof Je ? t = [...t, ...o.errors] : t.push(o) } } if (t) throw new Je(t) } } add(t) { var i; if (t && t !== this) if (this.closed) M(t); else { if (t instanceof de) { if (t.closed || t._hasParent(this)) return; t._addParent(this) } (this._finalizers = null !== (i = this._finalizers) && void 0 !== i ? i : []).push(t) } } _hasParent(t) { const { _parentage: i } = this; return i === t || Array.isArray(i) && i.includes(t) } _addParent(t) { const { _parentage: i } = this; this._parentage = Array.isArray(i) ? (i.push(t), i) : i ? [i, t] : t } _removeParent(t) { const { _parentage: i } = this; i === t ? this._parentage = null : Array.isArray(i) && ke(i, t) } remove(t) { const { _finalizers: i } = this; i && ke(i, t), t instanceof de && t._removeParent(this) } } de.EMPTY = (() => { const e = new de; return e.closed = !0, e })(); const ye = de.EMPTY; function He(e) { return e instanceof de || e && "closed" in e && $(e.remove) && $(e.add) && $(e.unsubscribe) } function M(e) { $(e) ? e() : e.unsubscribe() } const ut = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: !1, useDeprecatedNextContext: !1 }, Ue = { setTimeout(e, t, ...i) { const { delegate: n } = Ue; return n?.setTimeout ? n.setTimeout(e, t, ...i) : setTimeout(e, t, ...i) }, clearTimeout(e) { const { delegate: t } = Ue; return (t?.clearTimeout || clearTimeout)(e) }, delegate: void 0 }; function dt(e) { Ue.setTimeout(() => { const { onUnhandledError: t } = ut; if (!t) throw e; t(e) }) } function wt() { } const Z = Qe("C", void 0, void 0); function Qe(e, t, i) { return { kind: e, value: t, error: i } } let Ke = null; function xe(e) { if (ut.useDeprecatedSynchronousErrorHandling) { const t = !Ke; if (t && (Ke = { errorThrown: !1, error: null }), e(), t) { const { errorThrown: i, error: n } = Ke; if (Ke = null, i) throw n } } else e() } class en extends de { constructor(t) { super(), this.isStopped = !1, t ? (this.destination = t, He(t) && t.add(this)) : this.destination = rs } static create(t, i, n) { return new mi(t, i, n) } next(t) { this.isStopped ? vr(function be(e) { return Qe("N", e, void 0) }(t), this) : this._next(t) } error(t) { this.isStopped ? vr(function le(e) { return Qe("E", void 0, e) }(t), this) : (this.isStopped = !0, this._error(t)) } complete() { this.isStopped ? vr(Z, this) : (this.isStopped = !0, this._complete()) } unsubscribe() { this.closed || (this.isStopped = !0, super.unsubscribe(), this.destination = null) } _next(t) { this.destination.next(t) } _error(t) { try { this.destination.error(t) } finally { this.unsubscribe() } } _complete() { try { this.destination.complete() } finally { this.unsubscribe() } } } const Ct = Function.prototype.bind; function Et(e, t) { return Ct.call(e, t) } class mr { constructor(t) { this.partialObserver = t } next(t) { const { partialObserver: i } = this; if (i.next) try { i.next(t) } catch (n) { vi(n) } } error(t) { const { partialObserver: i } = this; if (i.error) try { i.error(t) } catch (n) { vi(n) } else vi(t) } complete() { const { partialObserver: t } = this; if (t.complete) try { t.complete() } catch (i) { vi(i) } } } class mi extends en { constructor(t, i, n) { let r; if (super(), $(t) || !t) r = { next: t ?? void 0, error: i ?? void 0, complete: n ?? void 0 }; else { let s; this && ut.useDeprecatedNextContext ? (s = Object.create(t), s.unsubscribe = () => this.unsubscribe(), r = { next: t.next && Et(t.next, s), error: t.error && Et(t.error, s), complete: t.complete && Et(t.complete, s) }) : r = t } this.destination = new mr(r) } } function vi(e) { ut.useDeprecatedSynchronousErrorHandling ? function It(e) { ut.useDeprecatedSynchronousErrorHandling && Ke && (Ke.errorThrown = !0, Ke.error = e) }(e) : dt(e) } function vr(e, t) { const { onStoppedNotification: i } = ut; i && Ue.setTimeout(() => i(e, t)) } const rs = { closed: !0, next: wt, error: function vo(e) { throw e }, complete: wt }, yr = "function" == typeof Symbol && Symbol.observable || "@@observable"; function yi(e) { return e } let ze = (() => { class e { constructor(i) { i && (this._subscribe = i) } lift(i) { const n = new e; return n.source = this, n.operator = i, n } subscribe(i, n, r) { const s = function bo(e) { return e && e instanceof en || function os(e) { return e && $(e.next) && $(e.error) && $(e.complete) }(e) && He(e) }(i) ? i : new mi(i, n, r); return xe(() => { const { operator: o, source: a } = this; s.add(o ? o.call(s, a) : a ? this._subscribe(s) : this._trySubscribe(s)) }), s } _trySubscribe(i) { try { return this._subscribe(i) } catch (n) { i.error(n) } } forEach(i, n) { return new (n = ss(n))((r, s) => { const o = new mi({ next: a => { try { i(a) } catch (l) { s(l), o.unsubscribe() } }, error: s, complete: r }); this.subscribe(o) }) } _subscribe(i) { var n; return null === (n = this.source) || void 0 === n ? void 0 : n.subscribe(i) } [yr]() { return this } pipe(...i) { return function br(e) { return 0 === e.length ? yi : 1 === e.length ? e[0] : function (i) { return e.reduce((n, r) => r(n), i) } }(i)(this) } toPromise(i) { return new (i = ss(i))((n, r) => { let s; this.subscribe(o => s = o, o => r(o), () => n(s)) }) } } return e.create = t => new e(t), e })(); function ss(e) { var t; return null !== (t = e ?? ut.Promise) && void 0 !== t ? t : Promise } const as = ct(e => function () { e(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed" }); let ee = (() => { class e extends ze { constructor() { super(), this.closed = !1, this.currentObservers = null, this.observers = [], this.isStopped = !1, this.hasError = !1, this.thrownError = null } lift(i) { const n = new Rt(this, this); return n.operator = i, n } _throwIfClosed() { if (this.closed) throw new as } next(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (const n of this.currentObservers) n.next(i) } }) } error(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = !0, this.thrownError = i; const { observers: n } = this; for (; n.length;)n.shift().error(i) } }) } complete() { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = !0; const { observers: i } = this; for (; i.length;)i.shift().complete() } }) } unsubscribe() { this.isStopped = this.closed = !0, this.observers = this.currentObservers = null } get observed() { var i; return (null === (i = this.observers) || void 0 === i ? void 0 : i.length) > 0 } _trySubscribe(i) { return this._throwIfClosed(), super._trySubscribe(i) } _subscribe(i) { return this._throwIfClosed(), this._checkFinalizedStatuses(i), this._innerSubscribe(i) } _innerSubscribe(i) { const { hasError: n, isStopped: r, observers: s } = this; return n || r ? ye : (this.currentObservers = null, s.push(i), new de(() => { this.currentObservers = null, ke(s, i) })) } _checkFinalizedStatuses(i) { const { hasError: n, thrownError: r, isStopped: s } = this; n ? i.error(r) : s && i.complete() } asObservable() { const i = new ze; return i.source = this, i } } return e.create = (t, i) => new Rt(t, i), e })(); class Rt extends ee { constructor(t, i) { super(), this.destination = t, this.source = i } next(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.next) || void 0 === n || n.call(i, t) } error(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.error) || void 0 === n || n.call(i, t) } complete() { var t, i; null === (i = null === (t = this.destination) || void 0 === t ? void 0 : t.complete) || void 0 === i || i.call(t) } _subscribe(t) { var i, n; return null !== (n = null === (i = this.source) || void 0 === i ? void 0 : i.subscribe(t)) && void 0 !== n ? n : ye } } function mt(e) { return t => { if (function ls(e) { return $(e?.lift) }(t)) return t.lift(function (i) { try { return e(i, this) } catch (n) { this.error(n) } }); throw new TypeError("Unable to lift unknown Observable type") } } function ft(e, t, i, n, r) { return new cs(e, t, i, n, r) } class cs extends en { constructor(t, i, n, r, s, o) { super(t), this.onFinalize = s, this.shouldUnsubscribe = o, this._next = i ? function (a) { try { i(a) } catch (l) { t.error(l) } } : super._next, this._error = r ? function (a) { try { r(a) } catch (l) { t.error(l) } finally { this.unsubscribe() } } : super._error, this._complete = n ? function () { try { n() } catch (a) { t.error(a) } finally { this.unsubscribe() } } : super._complete } unsubscribe() { var t; if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { const { closed: i } = this; super.unsubscribe(), !i && (null === (t = this.onFinalize) || void 0 === t || t.call(this)) } } } function Pt(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => { n.next(e.call(t, s, r++)) })) }) } function Xe(e) { return this instanceof Xe ? (this.v = e, this) : new Xe(e) } function Ki(e) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var i, t = e[Symbol.asyncIterator]; return t ? t.call(e) : (e = function q(e) { var t = "function" == typeof Symbol && Symbol.iterator, i = t && e[t], n = 0; if (i) return i.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }(e), i = {}, n("next"), n("throw"), n("return"), i[Symbol.asyncIterator] = function () { return this }, i); function n(s) { i[s] = e[s] && function (o) { return new Promise(function (a, l) { !function r(s, o, a, l) { Promise.resolve(l).then(function (c) { s({ value: c, done: a }) }, o) }(a, l, (o = e[s](o)).done, o.value) }) } } } "function" == typeof SuppressedError && SuppressedError; const Pu = e => e && "number" == typeof e.length && "function" != typeof e; function ug(e) { return $(e?.then) } function dg(e) { return $(e[yr]) } function fg(e) { return Symbol.asyncIterator && $(e?.[Symbol.asyncIterator]) } function hg(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 pg = function TE() { return "function" == typeof Symbol && Symbol.iterator ? Symbol.iterator : "@@iterator" }(); function gg(e) { return $(e?.[pg]) } function _g(e) { return function bi(e, t, i) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var r, n = i.apply(e, t || []), s = []; return r = {}, o("next"), o("throw"), o("return"), r[Symbol.asyncIterator] = function () { return this }, r; function o(g) { n[g] && (r[g] = function (_) { return new Promise(function (y, b) { s.push([g, _, y, b]) > 1 || a(g, _) }) }) } function a(g, _) { try { !function l(g) { g.value instanceof Xe ? Promise.resolve(g.value.v).then(c, u) : h(s[0][2], g) }(n[g](_)) } catch (y) { h(s[0][3], y) } } function c(g) { a("next", g) } function u(g) { a("throw", g) } function h(g, _) { g(_), s.shift(), s.length && a(s[0][0], s[0][1]) } }(this, arguments, function* () { const i = e.getReader(); try { for (; ;) { const { value: n, done: r } = yield Xe(i.read()); if (r) return yield Xe(void 0); yield yield Xe(n) } } finally { i.releaseLock() } }) } function mg(e) { return $(e?.getReader) } function Ft(e) { if (e instanceof ze) return e; if (null != e) { if (dg(e)) return function ME(e) { return new ze(t => { const i = e[yr](); if ($(i.subscribe)) return i.subscribe(t); throw new TypeError("Provided object does not correctly implement Symbol.observable") }) }(e); if (Pu(e)) return function IE(e) { return new ze(t => { for (let i = 0; i < e.length && !t.closed; i++)t.next(e[i]); t.complete() }) }(e); if (ug(e)) return function NE(e) { return new ze(t => { e.then(i => { t.closed || (t.next(i), t.complete()) }, i => t.error(i)).then(null, dt) }) }(e); if (fg(e)) return vg(e); if (gg(e)) return function AE(e) { return new ze(t => { for (const i of e) if (t.next(i), t.closed) return; t.complete() }) }(e); if (mg(e)) return function OE(e) { return vg(_g(e)) }(e) } throw hg(e) } function vg(e) { return new ze(t => { (function xE(e, t) { var i, n, r, s; return function m(e, t, i, n) { return new (i || (i = Promise))(function (s, o) { function a(u) { try { c(n.next(u)) } catch (h) { o(h) } } function l(u) { try { c(n.throw(u)) } catch (h) { o(h) } } function c(u) { u.done ? s(u.value) : function r(s) { return s instanceof i ? s : new i(function (o) { o(s) }) }(u.value).then(a, l) } c((n = n.apply(e, t || [])).next()) }) }(this, void 0, void 0, function* () { try { for (i = Ki(e); !(n = yield i.next()).done;)if (t.next(n.value), t.closed) return } catch (o) { r = { error: o } } finally { try { n && !n.done && (s = i.return) && (yield s.call(i)) } finally { if (r) throw r.error } } t.complete() }) })(e, t).catch(i => t.error(i)) }) } function Xi(e, t, i, n = 0, r = !1) { const s = t.schedule(function () { i(), r ? e.add(this.schedule(null, n)) : this.unsubscribe() }, n); if (e.add(s), !r) return s } function us(e, t, i = 1 / 0) { return $(t) ? us((n, r) => Pt((s, o) => t(n, s, r, o))(Ft(e(n, r))), i) : ("number" == typeof t && (i = t), mt((n, r) => function RE(e, t, i, n, r, s, o, a) { const l = []; let c = 0, u = 0, h = !1; const g = () => { h && !l.length && !c && t.complete() }, _ = b => c < n ? y(b) : l.push(b), y = b => { s && t.next(b), c++; let D = !1; Ft(i(b, u++)).subscribe(ft(t, T => { r?.(T), s ? _(T) : t.next(T) }, () => { D = !0 }, void 0, () => { if (D) try { for (c--; l.length && c < n;) { const T = l.shift(); o ? Xi(t, o, () => y(T)) : y(T) } g() } catch (T) { t.error(T) } })) }; return e.subscribe(ft(t, _, () => { h = !0, g() })), () => { a?.() } }(n, r, e, i))) } function yg(e = 1 / 0) { return us(yi, e) } const Do = new ze(e => e.complete()); function bg(e) { return e && $(e.schedule) } function Fu(e) { return e[e.length - 1] } function ku(e) { return $(Fu(e)) ? e.pop() : void 0 } function Qa(e) { return bg(Fu(e)) ? e.pop() : void 0 } function Dg(e, t = 0) { return mt((i, n) => { i.subscribe(ft(n, r => Xi(n, e, () => n.next(r), t), () => Xi(n, e, () => n.complete(), t), r => Xi(n, e, () => n.error(r), t))) }) } function wg(e, t = 0) { return mt((i, n) => { n.add(e.schedule(() => i.subscribe(n), t)) }) } function Cg(e, t) { if (!e) throw new Error("Iterable cannot be null"); return new ze(i => { Xi(i, t, () => { const n = e[Symbol.asyncIterator](); Xi(i, t, () => { n.next().then(r => { r.done ? i.complete() : i.next(r.value) }) }, 0, !0) }) }) } function wo(e, t) { return t ? function UE(e, t) { if (null != e) { if (dg(e)) return function kE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (Pu(e)) return function BE(e, t) { return new ze(i => { let n = 0; return t.schedule(function () { n === e.length ? i.complete() : (i.next(e[n++]), i.closed || this.schedule()) }) }) }(e, t); if (ug(e)) return function LE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (fg(e)) return Cg(e, t); if (gg(e)) return function VE(e, t) { return new ze(i => { let n; return Xi(i, t, () => { n = e[pg](), Xi(i, t, () => { let r, s; try { ({ value: r, done: s } = n.next()) } catch (o) { return void i.error(o) } s ? i.complete() : i.next(r) }, 0, !0) }), () => $(n?.return) && n.return() }) }(e, t); if (mg(e)) return function HE(e, t) { return Cg(_g(e), t) }(e, t) } throw hg(e) }(e, t) : Ft(e) } class jE extends ee { constructor(t) { super(), this._value = t } get value() { return this.getValue() } _subscribe(t) { const i = super._subscribe(t); return !i.closed && t.next(this._value), i } getValue() { const { hasError: t, thrownError: i, _value: n } = this; if (t) throw i; return this._throwIfClosed(), n } next(t) { super.next(this._value = t) } } function ds(...e) { return wo(e, Qa(e)) } function Sg(e = {}) { const { connector: t = (() => new ee), resetOnError: i = !0, resetOnComplete: n = !0, resetOnRefCountZero: r = !0 } = e; return s => { let o, a, l, c = 0, u = !1, h = !1; const g = () => { a?.unsubscribe(), a = void 0 }, _ = () => { g(), o = l = void 0, u = h = !1 }, y = () => { const b = o; _(), b?.unsubscribe() }; return mt((b, D) => { c++, !h && !u && g(); const T = l = l ?? t(); D.add(() => { c--, 0 === c && !h && !u && (a = Lu(y, r)) }), T.subscribe(D), !o && c > 0 && (o = new mi({ next: C => T.next(C), error: C => { h = !0, g(), a = Lu(_, i, C), T.error(C) }, complete: () => { u = !0, g(), a = Lu(_, n), T.complete() } }), Ft(b).subscribe(o)) })(s) } } function Lu(e, t, ...i) { if (!0 === t) return void e(); if (!1 === t) return; const n = new mi({ next: () => { n.unsubscribe(), e() } }); return Ft(t(...i)).subscribe(n) } function Bu(e, t) { return mt((i, n) => { let r = null, s = 0, o = !1; const a = () => o && !r && n.complete(); i.subscribe(ft(n, l => { r?.unsubscribe(); let c = 0; const u = s++; Ft(e(l, u)).subscribe(r = ft(n, h => n.next(t ? t(l, h, u, c++) : h), () => { r = null, a() })) }, () => { o = !0, a() })) }) } function $E(e, t) { return e === t } function Re(e) { for (let t in e) if (e[t] === Re) return t; throw Error("Could not find renamed property on target object.") } function Ka(e, t) { for (const i in t) t.hasOwnProperty(i) && !e.hasOwnProperty(i) && (e[i] = t[i]) } function Nt(e) { if ("string" == typeof e) return e; if (Array.isArray(e)) return "[" + e.map(Nt).join(", ") + "]"; if (null == e) return "" + e; if (e.overriddenName) return `${e.overriddenName}`; if (e.name) return `${e.name}`; const t = e.toString(); if (null == t) return "" + t; const i = t.indexOf("\n"); return -1 === i ? t : t.substring(0, i) } function Vu(e, t) { return null == e || "" === e ? null === t ? "" : t : null == t || "" === t ? e : e + " " + t } const GE = Re({ __forward_ref__: Re }); function ae(e) { return e.__forward_ref__ = ae, e.toString = function () { return Nt(this()) }, e } function X(e) { return Hu(e) ? e() : e } function Hu(e) { return "function" == typeof e && e.hasOwnProperty(GE) && e.__forward_ref__ === ae } function Uu(e) { return e && !!e.\u0275providers } const Mg = "https://g.co/ng/security#xss"; class F extends Error { constructor(t, i) { super(function Xa(e, t) { return `NG0${Math.abs(e)}${t ? ": " + t : ""}` }(t, i)), this.code = t } } function te(e) { return "string" == typeof e ? e : null == e ? "" : String(e) } function ju(e, t) { throw new F(-201, !1) } function $n(e, t) { null == e && function Q(e, t, i, n) { throw new Error(`ASSERTION ERROR: ${e}` + (null == n ? "" : ` [Expected=> ${i} ${n} ${t} <=Actual]`)) }(t, e, null, "!=") } function G(e) { return { token: e.token, providedIn: e.providedIn || null, factory: e.factory, value: void 0 } } function Ae(e) { return { providers: e.providers || [], imports: e.imports || [] } } function el(e) { return Ig(e, nl) || Ig(e, Ng) } function Ig(e, t) { return e.hasOwnProperty(t) ? e[t] : null } function tl(e) { return e && (e.hasOwnProperty($u) || e.hasOwnProperty(QE)) ? e[$u] : null } const nl = Re({ \u0275prov: Re }), $u = Re({ \u0275inj: Re }), Ng = Re({ ngInjectableDef: Re }), QE = Re({ ngInjectorDef: Re }); var ge = function (e) { return e[e.Default = 0] = "Default", e[e.Host = 1] = "Host", e[e.Self = 2] = "Self", e[e.SkipSelf = 4] = "SkipSelf", e[e.Optional = 8] = "Optional", e }(ge || {}); let Gu; function _n(e) { const t = Gu; return Gu = e, t } function Og(e, t, i) { const n = el(e); return n && "root" == n.providedIn ? void 0 === n.value ? n.value = n.factory() : n.value : i & ge.Optional ? null : void 0 !== t ? t : void ju(Nt(e)) } const je = globalThis, Co = {}, Zu = "__NG_DI_FLAG__", il = "ngTempTokenPath", eS = /\n/gm, Rg = "__source"; let fs; function er(e) { const t = fs; return fs = e, t } function iS(e, t = ge.Default) { if (void 0 === fs) throw new F(-203, !1); return null === fs ? Og(e, void 0, t) : fs.get(e, t & ge.Optional ? null : void 0, t) } function L(e, t = ge.Default) { return (function Ag() { return Gu }() || iS)(X(e), t) } function fe(e, t = ge.Default) { return L(e, rl(t)) } function rl(e) { return typeof e > "u" || "number" == typeof e ? e : 0 | (e.optional && 8) | (e.host && 1) | (e.self && 2) | (e.skipSelf && 4) } function Ju(e) { const t = []; for (let i = 0; i < e.length; i++) { const n = X(e[i]); if (Array.isArray(n)) { if (0 === n.length) throw new F(900, !1); let r, s = ge.Default; for (let o = 0; o < n.length; o++) { const a = n[o], l = rS(a); "number" == typeof l ? -1 === l ? r = a.token : s |= l : r = a } t.push(L(r, s)) } else t.push(L(n)) } return t } function Eo(e, t) { return e[Zu] = t, e.prototype[Zu] = t, e } function rS(e) { return e[Zu] } function Bi(e) { return { toString: e }.toString() } var sl = function (e) { return e[e.OnPush = 0] = "OnPush", e[e.Default = 1] = "Default", e }(sl || {}), ei = function (e) { return e[e.Emulated = 0] = "Emulated", e[e.None = 2] = "None", e[e.ShadowDom = 3] = "ShadowDom", e }(ei || {}); const Di = {}, Ee = [], ol = Re({ \u0275cmp: Re }), Qu = Re({ \u0275dir: Re }), Ku = Re({ \u0275pipe: Re }), Fg = Re({ \u0275mod: Re }), Vi = Re({ \u0275fac: Re }), So = Re({ __NG_ELEMENT_ID__: Re }), kg = Re({ __NG_ENV_ID__: Re }); function Lg(e, t, i) { let n = e.length; for (; ;) { const r = e.indexOf(t, i); if (-1 === r) return r; if (0 === r || e.charCodeAt(r - 1) <= 32) { const s = t.length; if (r + s === n || e.charCodeAt(r + s) <= 32) return r } i = r + 1 } } function Xu(e, t, i) { let n = 0; for (; n < i.length;) { const r = i[n]; if ("number" == typeof r) { if (0 !== r) break; n++; const s = i[n++], o = i[n++], a = i[n++]; e.setAttribute(t, o, a, s) } else { const s = r, o = i[++n]; Vg(s) ? e.setProperty(t, s, o) : e.setAttribute(t, s, o), n++ } } return n } function Bg(e) { return 3 === e || 4 === e || 6 === e } function Vg(e) { return 64 === e.charCodeAt(0) } function To(e, t) { if (null !== t && 0 !== t.length) if (null === e || 0 === e.length) e = t.slice(); else { let i = -1; for (let n = 0; n < t.length; n++) { const r = t[n]; "number" == typeof r ? i = r : 0 === i || Hg(e, i, r, null, -1 === i || 2 === i ? t[++n] : null) } } return e } function Hg(e, t, i, n, r) { let s = 0, o = e.length; if (-1 === t) o = -1; else for (; s < e.length;) { const a = e[s++]; if ("number" == typeof a) { if (a === t) { o = -1; break } if (a > t) { o = s - 1; break } } } for (; s < e.length;) { const a = e[s]; if ("number" == typeof a) break; if (a === i) { if (null === n) return void (null !== r && (e[s + 1] = r)); if (n === e[s + 1]) return void (e[s + 2] = r) } s++, null !== n && s++, null !== r && s++ } -1 !== o && (e.splice(o, 0, t), s = o + 1), e.splice(s++, 0, i), null !== n && e.splice(s++, 0, n), null !== r && e.splice(s++, 0, r) } const Ug = "ng-template"; function aS(e, t, i) { let n = 0, r = !0; for (; n < e.length;) { let s = e[n++]; if ("string" == typeof s && r) { const o = e[n++]; if (i && "class" === s && -1 !== Lg(o.toLowerCase(), t, 0)) return !0 } else { if (1 === s) { for (; n < e.length && "string" == typeof (s = e[n++]);)if (s.toLowerCase() === t) return !0; return !1 } "number" == typeof s && (r = !1) } } return !1 } function jg(e) { return 4 === e.type && e.value !== Ug } function lS(e, t, i) { return t === (4 !== e.type || i ? e.value : Ug) } function cS(e, t, i) { let n = 4; const r = e.attrs || [], s = function fS(e) { for (let t = 0; t < e.length; t++)if (Bg(e[t])) return t; return e.length }(r); let o = !1; for (let a = 0; a < t.length; a++) { const l = t[a]; if ("number" != typeof l) { if (!o) if (4 & n) { if (n = 2 | 1 & n, "" !== l && !lS(e, l, i) || "" === l && 1 === t.length) { if (ti(n)) return !1; o = !0 } } else { const c = 8 & n ? l : t[++a]; if (8 & n && null !== e.attrs) { if (!aS(e.attrs, c, i)) { if (ti(n)) return !1; o = !0 } continue } const h = uS(8 & n ? "class" : l, r, jg(e), i); if (-1 === h) { if (ti(n)) return !1; o = !0; continue } if ("" !== c) { let g; g = h > s ? "" : r[h + 1].toLowerCase(); const _ = 8 & n ? g : null; if (_ && -1 !== Lg(_, c, 0) || 2 & n && c !== g) { if (ti(n)) return !1; o = !0 } } } } else { if (!o && !ti(n) && !ti(l)) return !1; if (o && ti(l)) continue; o = !1, n = l | 1 & n } } return ti(n) || o } function ti(e) { return 0 == (1 & e) } function uS(e, t, i, n) { if (null === t) return -1; let r = 0; if (n || !i) { let s = !1; for (; r < t.length;) { const o = t[r]; if (o === e) return r; if (3 === o || 6 === o) s = !0; else { if (1 === o || 2 === o) { let a = t[++r]; for (; "string" == typeof a;)a = t[++r]; continue } if (4 === o) break; if (0 === o) { r += 4; continue } } r += s ? 1 : 2 } return -1 } return function hS(e, t) { let i = e.indexOf(4); if (i > -1) for (i++; i < e.length;) { const n = e[i]; if ("number" == typeof n) return -1; if (n === t) return i; i++ } return -1 }(t, e) } function $g(e, t, i = !1) { for (let n = 0; n < t.length; n++)if (cS(e, t[n], i)) return !0; return !1 } function pS(e, t) { e: for (let i = 0; i < t.length; i++) { const n = t[i]; if (e.length === n.length) { for (let r = 0; r < e.length; r++)if (e[r] !== n[r]) continue e; return !0 } } return !1 } function Gg(e, t) { return e ? ":not(" + t.trim() + ")" : t } function gS(e) { let t = e[0], i = 1, n = 2, r = "", s = !1; for (; i < e.length;) { let o = e[i]; if ("string" == typeof o) if (2 & n) { const a = e[++i]; r += "[" + o + (a.length > 0 ? '="' + a + '"' : "") + "]" } else 8 & n ? r += "." + o : 4 & n && (r += " " + o); else "" !== r && !ti(o) && (t += Gg(s, r), r = ""), n = o, s = s || !ti(n); i++ } return "" !== r && (t += Gg(s, r)), t } function et(e) { return Bi(() => { const t = qg(e), i = { ...t, decls: e.decls, vars: e.vars, template: e.template, consts: e.consts || null, ngContentSelectors: e.ngContentSelectors, onPush: e.changeDetection === sl.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e.dependencies || null, getStandaloneInjector: null, signals: e.signals ?? !1, data: e.data || {}, encapsulation: e.encapsulation || ei.Emulated, styles: e.styles || Ee, _: null, schemas: e.schemas || null, tView: null, id: "" }; Yg(i); const n = e.dependencies; return i.directiveDefs = al(n, !1), i.pipeDefs = al(n, !0), i.id = function wS(e) { let t = 0; const i = [e.selectors, e.ngContentSelectors, e.hostVars, e.hostAttrs, e.consts, e.vars, e.decls, e.encapsulation, e.standalone, e.signals, e.exportAs, JSON.stringify(e.inputs), JSON.stringify(e.outputs), Object.getOwnPropertyNames(e.type.prototype), !!e.contentQueries, !!e.viewQuery].join("|"); for (const r of i) t = Math.imul(31, t) + r.charCodeAt(0) << 0; return t += 2147483648, "c" + t }(i), i }) } function vS(e) { return me(e) || Vt(e) } function yS(e) { return null !== e } function Pe(e) { return Bi(() => ({ type: e.type, bootstrap: e.bootstrap || Ee, declarations: e.declarations || Ee, imports: e.imports || Ee, exports: e.exports || Ee, transitiveCompileScopes: null, schemas: e.schemas || null, id: e.id || null })) } function Wg(e, t) { if (null == e) return Di; const i = {}; for (const n in e) if (e.hasOwnProperty(n)) { let r = e[n], s = r; Array.isArray(r) && (s = r[1], r = r[0]), i[r] = n, t && (t[r] = s) } return i } function k(e) { return Bi(() => { const t = qg(e); return Yg(t), t }) } function me(e) { return e[ol] || null } function Vt(e) { return e[Qu] || null } function nn(e) { return e[Ku] || null } function qg(e) { const t = {}; 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: t, inputTransforms: null, inputConfig: e.inputs || Di, exportAs: e.exportAs || null, standalone: !0 === e.standalone, signals: !0 === e.signals, selectors: e.selectors || Ee, viewQuery: e.viewQuery || null, features: e.features || null, setInput: null, findHostDirectiveDefs: null, hostDirectives: null, inputs: Wg(e.inputs, t), outputs: Wg(e.outputs) } } function Yg(e) { e.features?.forEach(t => t(e)) } function al(e, t) { if (!e) return null; const i = t ? nn : vS; return () => ("function" == typeof e ? e() : e).map(n => i(n)).filter(yS) } const ht = 0, H = 1, ie = 2, tt = 3, ni = 4, Io = 5, Yt = 6, hs = 7, vt = 8, tr = 9, ps = 10, ne = 11, No = 12, Zg = 13, gs = 14, yt = 15, Ao = 16, _s = 17, wi = 18, Oo = 19, Jg = 20, nr = 21, Hi = 22, ll = 23, cl = 24, pe = 25, ed = 1, Qg = 2, Ci = 7, ms = 9, Ht = 11; function vn(e) { return Array.isArray(e) && "object" == typeof e[ed] } function rn(e) { return Array.isArray(e) && !0 === e[ed] } function td(e) { return 0 != (4 & e.flags) } function Cr(e) { return e.componentOffset > -1 } function dl(e) { return 1 == (1 & e.flags) } function ii(e) { return !!e.template } function nd(e) { return 0 != (512 & e[ie]) } function Er(e, t) { return e.hasOwnProperty(Vi) ? e[Vi] : null } let IS = je.WeakRef ?? class MS { constructor(t) { this.ref = t } deref() { return this.ref } }, AS = 0, Ei = null, fl = !1; function kt(e) { const t = Ei; return Ei = e, t } class n_ { constructor() { this.id = AS++, this.ref = function NS(e) { return new IS(e) }(this), this.producers = new Map, this.consumers = new Map, this.trackingVersion = 0, this.valueVersion = 0 } consumerPollProducersForChange() { for (const [t, i] of this.producers) { const n = i.producerNode.deref(); if (null != n && i.atTrackingVersion === this.trackingVersion) { if (n.producerPollStatus(i.seenValueVersion)) return !0 } else this.producers.delete(t), n?.consumers.delete(this.id) } return !1 } producerMayHaveChanged() { const t = fl; fl = !0; try { for (const [i, n] of this.consumers) { const r = n.consumerNode.deref(); null != r && r.trackingVersion === n.atTrackingVersion ? r.onConsumerDependencyMayHaveChanged() : (this.consumers.delete(i), r?.producers.delete(this.id)) } } finally { fl = t } } producerAccessed() { if (fl) throw new Error(""); if (null === Ei) return; let t = Ei.producers.get(this.id); void 0 === t ? (t = { consumerNode: Ei.ref, producerNode: this.ref, seenValueVersion: this.valueVersion, atTrackingVersion: Ei.trackingVersion }, Ei.producers.set(this.id, t), this.consumers.set(Ei.id, t)) : (t.seenValueVersion = this.valueVersion, t.atTrackingVersion = Ei.trackingVersion) } get hasProducers() { return this.producers.size > 0 } get producerUpdatesAllowed() { return !1 !== Ei?.consumerAllowSignalWrites } producerPollStatus(t) { return this.valueVersion !== t || (this.onProducerUpdateValueVersion(), this.valueVersion !== t) } } let i_ = null; const s_ = () => { }; class PS extends n_ { constructor(t, i, n) { super(), this.watch = t, this.schedule = i, this.dirty = !1, this.cleanupFn = s_, this.registerOnCleanup = r => { this.cleanupFn = r }, this.consumerAllowSignalWrites = n } notify() { this.dirty || this.schedule(this), this.dirty = !0 } onConsumerDependencyMayHaveChanged() { this.notify() } onProducerUpdateValueVersion() { } run() { if (this.dirty = !1, 0 !== this.trackingVersion && !this.consumerPollProducersForChange()) return; const t = kt(this); this.trackingVersion++; try { this.cleanupFn(), this.cleanupFn = s_, this.watch(this.registerOnCleanup) } finally { kt(t) } } cleanup() { this.cleanupFn() } } class FS { constructor(t, i, n) { this.previousValue = t, this.currentValue = i, this.firstChange = n } isFirstChange() { return this.firstChange } } function sn() { return o_ } function o_(e) { return e.type.prototype.ngOnChanges && (e.setInput = LS), kS } function kS() { const e = l_(this), t = e?.current; if (t) { const i = e.previous; if (i === Di) e.previous = t; else for (let n in t) i[n] = t[n]; e.current = null, this.ngOnChanges(t) } } function LS(e, t, i, n) { const r = this.declaredInputs[i], s = l_(e) || function BS(e, t) { return e[a_] = t }(e, { previous: Di, current: null }), o = s.current || (s.current = {}), a = s.previous, l = a[r]; o[r] = new FS(l && l.currentValue, t, a === Di), e[n] = t } sn.ngInherit = !0; const a_ = "__ngSimpleChanges__"; function l_(e) { return e[a_] || null } const Si = function (e, t, i) { }; function We(e) { for (; Array.isArray(e);)e = e[ht]; return e } function gl(e, t) { return We(t[e]) } function yn(e, t) { return We(t[e.index]) } function d_(e, t) { return e.data[t] } function On(e, t) { const i = t[e]; return vn(i) ? i : i[ht] } function ir(e, t) { return null == t ? null : e[t] } function f_(e) { e[_s] = 0 } function GS(e) { 1024 & e[ie] || (e[ie] |= 1024, p_(e, 1)) } function h_(e) { 1024 & e[ie] && (e[ie] &= -1025, p_(e, -1)) } function p_(e, t) { let i = e[tt]; if (null === i) return; i[Io] += t; let n = i; for (i = i[tt]; null !== i && (1 === t && 1 === n[Io] || -1 === t && 0 === n[Io]);)i[Io] += t, n = i, i = i[tt] } const K = { lFrame: S_(null), bindingsEnabled: !0, skipHydrationRootTNode: null }; function m_() { return K.bindingsEnabled } function ys() { return null !== K.skipHydrationRootTNode } function A() { return K.lFrame.lView } function ve() { return K.lFrame.tView } function on(e) { return K.lFrame.contextLView = e, e[vt] } function an(e) { return K.lFrame.contextLView = null, e } function Ut() { let e = v_(); for (; null !== e && 64 === e.type;)e = e.parent; return e } function v_() { return K.lFrame.currentTNode } function Ti(e, t) { const i = K.lFrame; i.currentTNode = e, i.isParent = t } function cd() { return K.lFrame.isParent } function ud() { K.lFrame.isParent = !1 } function bs() { return K.lFrame.bindingIndex++ } function ji(e) { const t = K.lFrame, i = t.bindingIndex; return t.bindingIndex = t.bindingIndex + e, i } function nT(e, t) { const i = K.lFrame; i.bindingIndex = i.bindingRootIndex = e, dd(t) } function dd(e) { K.lFrame.currentDirectiveIndex = e } function w_() { return K.lFrame.currentQueryIndex } function hd(e) { K.lFrame.currentQueryIndex = e } function rT(e) { const t = e[H]; return 2 === t.type ? t.declTNode : 1 === t.type ? e[Yt] : null } function C_(e, t, i) { if (i & ge.SkipSelf) { let r = t, s = e; for (; !(r = r.parent, null !== r || i & ge.Host || (r = rT(s), null === r || (s = s[gs], 10 & r.type)));); if (null === r) return !1; t = r, e = s } const n = K.lFrame = E_(); return n.currentTNode = t, n.lView = e, !0 } function pd(e) { const t = E_(), i = e[H]; K.lFrame = t, t.currentTNode = i.firstChild, t.lView = e, t.tView = i, t.contextLView = e, t.bindingIndex = i.bindingStartIndex, t.inI18n = !1 } function E_() { const e = K.lFrame, t = null === e ? null : e.child; return null === t ? S_(e) : t } function S_(e) { const t = { 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 = t), t } function T_() { const e = K.lFrame; return K.lFrame = e.parent, e.currentTNode = null, e.lView = null, e } const M_ = T_; function gd() { const e = T_(); 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 cn() { return K.lFrame.selectedIndex } function Sr(e) { K.lFrame.selectedIndex = e } function ot() { const e = K.lFrame; return d_(e.tView, e.selectedIndex) } let N_ = !0; function _l() { return N_ } function rr(e) { N_ = e } function ml(e, t) { for (let i = t.directiveStart, n = t.directiveEnd; i < n; i++) { const s = e.data[i].type.prototype, { ngAfterContentInit: o, ngAfterContentChecked: a, ngAfterViewInit: l, ngAfterViewChecked: c, ngOnDestroy: u } = s; o && (e.contentHooks ??= []).push(-i, o), a && ((e.contentHooks ??= []).push(i, a), (e.contentCheckHooks ??= []).push(i, a)), l && (e.viewHooks ??= []).push(-i, l), c && ((e.viewHooks ??= []).push(i, c), (e.viewCheckHooks ??= []).push(i, c)), null != u && (e.destroyHooks ??= []).push(i, u) } } function vl(e, t, i) { A_(e, t, 3, i) } function yl(e, t, i, n) { (3 & e[ie]) === i && A_(e, t, i, n) } function _d(e, t) { let i = e[ie]; (3 & i) === t && (i &= 8191, i += 1, e[ie] = i) } function A_(e, t, i, n) { const s = n ?? -1, o = t.length - 1; let a = 0; for (let l = void 0 !== n ? 65535 & e[_s] : 0; l < o; l++)if ("number" == typeof t[l + 1]) { if (a = t[l], null != n && a >= n) break } else t[l] < 0 && (e[_s] += 65536), (a < s || -1 == s) && (fT(e, i, t, l), e[_s] = (4294901760 & e[_s]) + l + 2), l++ } function O_(e, t) { Si(4, e, t); const i = kt(null); try { t.call(e) } finally { kt(i), Si(5, e, t) } } function fT(e, t, i, n) { const r = i[n] < 0, s = i[n + 1], a = e[r ? -i[n] : i[n]]; r ? e[ie] >> 13 < e[_s] >> 16 && (3 & e[ie]) === t && (e[ie] += 8192, O_(a, s)) : O_(a, s) } const Ds = -1; class Po { constructor(t, i, n) { this.factory = t, this.resolving = !1, this.canSeeViewProviders = i, this.injectImpl = n } } function vd(e) { return e !== Ds } function Fo(e) { return 32767 & e } function ko(e, t) { let i = function _T(e) { return e >> 16 }(e), n = t; for (; i > 0;)n = n[gs], i--; return n } let yd = !0; function bl(e) { const t = yd; return yd = e, t } const x_ = 255, R_ = 5; let mT = 0; const Mi = {}; function Dl(e, t) { const i = P_(e, t); if (-1 !== i) return i; const n = t[H]; n.firstCreatePass && (e.injectorIndex = t.length, bd(n.data, e), bd(t, null), bd(n.blueprint, null)); const r = wl(e, t), s = e.injectorIndex; if (vd(r)) { const o = Fo(r), a = ko(r, t), l = a[H].data; for (let c = 0; c < 8; c++)t[s + c] = a[o + c] | l[o + c] } return t[s + 8] = r, s } function bd(e, t) { e.push(0, 0, 0, 0, 0, 0, 0, 0, t) } function P_(e, t) { return -1 === e.injectorIndex || e.parent && e.parent.injectorIndex === e.injectorIndex || null === t[e.injectorIndex + 8] ? -1 : e.injectorIndex } function wl(e, t) { if (e.parent && -1 !== e.parent.injectorIndex) return e.parent.injectorIndex; let i = 0, n = null, r = t; for (; null !== r;) { if (n = U_(r), null === n) return Ds; if (i++, r = r[gs], -1 !== n.injectorIndex) return n.injectorIndex | i << 16 } return Ds } function Dd(e, t, i) { !function vT(e, t, i) { let n; "string" == typeof i ? n = i.charCodeAt(0) || 0 : i.hasOwnProperty(So) && (n = i[So]), null == n && (n = i[So] = mT++); const r = n & x_; t.data[e + (r >> R_)] |= 1 << r }(e, t, i) } function F_(e, t, i) { if (i & ge.Optional || void 0 !== e) return e; ju() } function k_(e, t, i, n) { if (i & ge.Optional && void 0 === n && (n = null), !(i & (ge.Self | ge.Host))) { const r = e[tr], s = _n(void 0); try { return r ? r.get(t, n, i & ge.Optional) : Og(t, n, i & ge.Optional) } finally { _n(s) } } return F_(n, 0, i) } function L_(e, t, i, n = ge.Default, r) { if (null !== e) { if (2048 & t[ie] && !(n & ge.Self)) { const o = function ET(e, t, i, n, r) { let s = e, o = t; for (; null !== s && null !== o && 2048 & o[ie] && !(512 & o[ie]);) { const a = B_(s, o, i, n | ge.Self, Mi); if (a !== Mi) return a; let l = s.parent; if (!l) { const c = o[Jg]; if (c) { const u = c.get(i, Mi, n); if (u !== Mi) return u } l = U_(o), o = o[gs] } s = l } return r }(e, t, i, n, Mi); if (o !== Mi) return o } const s = B_(e, t, i, n, Mi); if (s !== Mi) return s } return k_(t, i, n, r) } function B_(e, t, i, n, r) { const s = function DT(e) { if ("string" == typeof e) return e.charCodeAt(0) || 0; const t = e.hasOwnProperty(So) ? e[So] : void 0; return "number" == typeof t ? t >= 0 ? t & x_ : CT : t }(i); if ("function" == typeof s) { if (!C_(t, e, n)) return n & ge.Host ? F_(r, 0, n) : k_(t, i, n, r); try { let o; if (o = s(n), null != o || n & ge.Optional) return o; ju() } finally { M_() } } else if ("number" == typeof s) { let o = null, a = P_(e, t), l = Ds, c = n & ge.Host ? t[yt][Yt] : null; for ((-1 === a || n & ge.SkipSelf) && (l = -1 === a ? wl(e, t) : t[a + 8], l !== Ds && H_(n, !1) ? (o = t[H], a = Fo(l), t = ko(l, t)) : a = -1); -1 !== a;) { const u = t[H]; if (V_(s, a, u.data)) { const h = bT(a, t, i, o, n, c); if (h !== Mi) return h } l = t[a + 8], l !== Ds && H_(n, t[H].data[a + 8] === c) && V_(s, a, t) ? (o = u, a = Fo(l), t = ko(l, t)) : a = -1 } } return r } function bT(e, t, i, n, r, s) { const o = t[H], a = o.data[e + 8], u = Cl(a, o, i, null == n ? Cr(a) && yd : n != o && 0 != (3 & a.type), r & ge.Host && s === a); return null !== u ? Tr(t, o, u, a) : Mi } function Cl(e, t, i, n, r) { const s = e.providerIndexes, o = t.data, a = 1048575 & s, l = e.directiveStart, u = s >> 20, g = r ? a + u : e.directiveEnd; for (let _ = n ? a : a + u; _ < g; _++) { const y = o[_]; if (_ < l && i === y || _ >= l && y.type === i) return _ } if (r) { const _ = o[l]; if (_ && ii(_) && _.type === i) return l } return null } function Tr(e, t, i, n) { let r = e[i]; const s = t.data; if (function hT(e) { return e instanceof Po }(r)) { const o = r; o.resolving && function zE(e, t) { const i = t ? `. Dependency path: ${t.join(" > ")} > ${e}` : ""; throw new F(-200, `Circular dependency in DI detected for ${e}${i}`) }(function Ne(e) { return "function" == typeof e ? e.name || e.toString() : "object" == typeof e && null != e && "function" == typeof e.type ? e.type.name || e.type.toString() : te(e) }(s[i])); const a = bl(o.canSeeViewProviders); o.resolving = !0; const c = o.injectImpl ? _n(o.injectImpl) : null; C_(e, n, ge.Default); try { r = e[i] = o.factory(void 0, s, e, n), t.firstCreatePass && i >= n.directiveStart && function dT(e, t, i) { const { ngOnChanges: n, ngOnInit: r, ngDoCheck: s } = t.type.prototype; if (n) { const o = o_(t); (i.preOrderHooks ??= []).push(e, o), (i.preOrderCheckHooks ??= []).push(e, o) } r && (i.preOrderHooks ??= []).push(0 - e, r), s && ((i.preOrderHooks ??= []).push(e, s), (i.preOrderCheckHooks ??= []).push(e, s)) }(i, s[i], t) } finally { null !== c && _n(c), bl(a), o.resolving = !1, M_() } } return r } function V_(e, t, i) { return !!(i[t + (e >> R_)] & 1 << e) } function H_(e, t) { return !(e & ge.Self || e & ge.Host && t) } class un { constructor(t, i) { this._tNode = t, this._lView = i } get(t, i, n) { return L_(this._tNode, this._lView, t, rl(n), i) } } function CT() { return new un(Ut(), A()) } function St(e) { return Bi(() => { const t = e.prototype.constructor, i = t[Vi] || wd(t), n = Object.prototype; let r = Object.getPrototypeOf(e.prototype).constructor; for (; r && r !== n;) { const s = r[Vi] || wd(r); if (s && s !== i) return s; r = Object.getPrototypeOf(r) } return s => new s }) } function wd(e) { return Hu(e) ? () => { const t = wd(X(e)); return t && t() } : Er(e) } function U_(e) { const t = e[H], i = t.type; return 2 === i ? t.declTNode : 1 === i ? e[Yt] : null } const Es = "__parameters__"; function Ts(e, t, i) { return Bi(() => { const n = function Cd(e) { return function (...i) { if (e) { const n = e(...i); for (const r in n) this[r] = n[r] } } }(t); function r(...s) { if (this instanceof r) return n.apply(this, s), this; const o = new r(...s); return a.annotation = o, a; function a(l, c, u) { const h = l.hasOwnProperty(Es) ? l[Es] : Object.defineProperty(l, Es, { value: [] })[Es]; for (; h.length <= u;)h.push(null); return (h[u] = h[u] || []).push(o), l } } return i && (r.prototype = Object.create(i.prototype)), r.prototype.ngMetadataName = e, r.annotationCls = r, r }) } function Is(e, t) { e.forEach(i => Array.isArray(i) ? Is(i, t) : t(i)) } function $_(e, t, i) { t >= e.length ? e.push(i) : e.splice(t, 0, i) } function El(e, t) { return t >= e.length - 1 ? e.pop() : e.splice(t, 1)[0] } function Vo(e, t) { const i = []; for (let n = 0; n < e; n++)i.push(t); return i } function xn(e, t, i) { let n = Ns(e, t); return n >= 0 ? e[1 | n] = i : (n = ~n, function OT(e, t, i, n) { let r = e.length; if (r == t) e.push(i, n); else if (1 === r) e.push(n, e[0]), e[0] = i; else { for (r--, e.push(e[r - 1], e[r]); r > t;)e[r] = e[r - 2], r--; e[t] = i, e[t + 1] = n } }(e, n, t, i)), n } function Ed(e, t) { const i = Ns(e, t); if (i >= 0) return e[1 | i] } function Ns(e, t) { return function G_(e, t, i) { let n = 0, r = e.length >> i; for (; r !== n;) { const s = n + (r - n >> 1), o = e[s << i]; if (t === o) return s << i; o > t ? r = s : n = s + 1 } return ~(r << i) }(e, t, 1) } const Td = Eo(Ts("Optional"), 8), Md = Eo(Ts("SkipSelf"), 4); function Al(e) { return 128 == (128 & e.flags) } var sr = function (e) { return e[e.Important = 1] = "Important", e[e.DashCase = 2] = "DashCase", e }(sr || {}); const Od = new Map; let tM = 0; const Rd = "__ngContext__"; function Zt(e, t) { vn(t) ? (e[Rd] = t[Oo], function iM(e) { Od.set(e[Oo], e) }(t)) : e[Rd] = t } let Pd; function Fd(e, t) { return Pd(e, t) } function jo(e) { const t = e[tt]; return rn(t) ? t[tt] : t } function um(e) { return fm(e[No]) } function dm(e) { return fm(e[ni]) } function fm(e) { for (; null !== e && !rn(e);)e = e[ni]; return e } function xs(e, t, i, n, r) { if (null != n) { let s, o = !1; rn(n) ? s = n : vn(n) && (o = !0, n = n[ht]); const a = We(n); 0 === e && null !== i ? null == r ? _m(t, i, a) : Mr(t, i, a, r || null, !0) : 1 === e && null !== i ? Mr(t, i, a, r || null, !0) : 2 === e ? function Ll(e, t, i) { const n = Fl(e, t); n && function wM(e, t, i, n) { e.removeChild(t, i, n) }(e, n, t, i) }(t, a, o) : 3 === e && t.destroyNode(a), null != s && function SM(e, t, i, n, r) { const s = i[Ci]; s !== We(i) && xs(t, e, n, s, r); for (let a = Ht; a < i.length; a++) { const l = i[a]; Go(l[H], l, e, t, n, s) } }(t, e, s, i, r) } } function Rl(e, t, i) { return e.createElement(t, i) } function pm(e, t) { const i = e[ms], n = i.indexOf(t); h_(t), i.splice(n, 1) } function Pl(e, t) { if (e.length <= Ht) return; const i = Ht + t, n = e[i]; if (n) { const r = n[Ao]; null !== r && r !== e && pm(r, n), t > 0 && (e[i - 1][ni] = n[ni]); const s = El(e, Ht + t); !function pM(e, t) { Go(e, t, t[ne], 2, null, null), t[ht] = null, t[Yt] = null }(n[H], n); const o = s[wi]; null !== o && o.detachView(s[H]), n[tt] = null, n[ni] = null, n[ie] &= -129 } return n } function Ld(e, t) { if (!(256 & t[ie])) { const i = t[ne]; t[ll]?.destroy(), t[cl]?.destroy(), i.destroyNode && Go(e, t, i, 3, null, null), function mM(e) { let t = e[No]; if (!t) return Bd(e[H], e); for (; t;) { let i = null; if (vn(t)) i = t[No]; else { const n = t[Ht]; n && (i = n) } if (!i) { for (; t && !t[ni] && t !== e;)vn(t) && Bd(t[H], t), t = t[tt]; null === t && (t = e), vn(t) && Bd(t[H], t), i = t && t[ni] } t = i } }(t) } } function Bd(e, t) { if (!(256 & t[ie])) { t[ie] &= -129, t[ie] |= 256, function DM(e, t) { let i; if (null != e && null != (i = e.destroyHooks)) for (let n = 0; n < i.length; n += 2) { const r = t[i[n]]; if (!(r instanceof Po)) { const s = i[n + 1]; if (Array.isArray(s)) for (let o = 0; o < s.length; o += 2) { const a = r[s[o]], l = s[o + 1]; Si(4, a, l); try { l.call(a) } finally { Si(5, a, l) } } else { Si(4, r, s); try { s.call(r) } finally { Si(5, r, s) } } } } }(e, t), function bM(e, t) { const i = e.cleanup, n = t[hs]; if (null !== i) for (let s = 0; s < i.length - 1; s += 2)if ("string" == typeof i[s]) { const o = i[s + 3]; o >= 0 ? n[o]() : n[-o].unsubscribe(), s += 2 } else i[s].call(n[i[s + 1]]); null !== n && (t[hs] = null); const r = t[nr]; if (null !== r) { t[nr] = null; for (let s = 0; s < r.length; s++)(0, r[s])() } }(e, t), 1 === t[H].type && t[ne].destroy(); const i = t[Ao]; if (null !== i && rn(t[tt])) { i !== t[tt] && pm(i, t); const n = t[wi]; null !== n && n.detachView(e) } !function rM(e) { Od.delete(e[Oo]) }(t) } } function Vd(e, t, i) { return function gm(e, t, i) { let n = t; for (; null !== n && 40 & n.type;)n = (t = n).parent; if (null === n) return i[ht]; { const { componentOffset: r } = n; if (r > -1) { const { encapsulation: s } = e.data[n.directiveStart + r]; if (s === ei.None || s === ei.Emulated) return null } return yn(n, i) } }(e, t.parent, i) } function Mr(e, t, i, n, r) { e.insertBefore(t, i, n, r) } function _m(e, t, i) { e.appendChild(t, i) } function mm(e, t, i, n, r) { null !== n ? Mr(e, t, i, n, r) : _m(e, t, i) } function Fl(e, t) { return e.parentNode(t) } function vm(e, t, i) { return bm(e, t, i) } let Hd, Bl, Gd, Vl, bm = function ym(e, t, i) { return 40 & e.type ? yn(e, i) : null }; function kl(e, t, i, n) { const r = Vd(e, n, t), s = t[ne], a = vm(n.parent || t[Yt], n, t); if (null != r) if (Array.isArray(i)) for (let l = 0; l < i.length; l++)mm(s, r, i[l], a, !1); else mm(s, r, i, a, !1); void 0 !== Hd && Hd(s, n, t, i, r) } function $o(e, t) { if (null !== t) { const i = t.type; if (3 & i) return yn(t, e); if (4 & i) return Ud(-1, e[t.index]); if (8 & i) { const n = t.child; if (null !== n) return $o(e, n); { const r = e[t.index]; return rn(r) ? Ud(-1, r) : We(r) } } if (32 & i) return Fd(t, e)() || We(e[t.index]); { const n = wm(e, t); return null !== n ? Array.isArray(n) ? n[0] : $o(jo(e[yt]), n) : $o(e, t.next) } } return null } function wm(e, t) { return null !== t ? e[yt][Yt].projection[t.projection] : null } function Ud(e, t) { const i = Ht + e + 1; if (i < t.length) { const n = t[i], r = n[H].firstChild; if (null !== r) return $o(n, r) } return t[Ci] } function jd(e, t, i, n, r, s, o) { for (; null != i;) { const a = n[i.index], l = i.type; if (o && 0 === t && (a && Zt(We(a), n), i.flags |= 2), 32 != (32 & i.flags)) if (8 & l) jd(e, t, i.child, n, r, s, !1), xs(t, e, r, a, s); else if (32 & l) { const c = Fd(i, n); let u; for (; u = c();)xs(t, e, r, u, s); xs(t, e, r, a, s) } else 16 & l ? Em(e, t, n, i, r, s) : xs(t, e, r, a, s); i = o ? i.projectionNext : i.next } } function Go(e, t, i, n, r, s) { jd(i, n, e.firstChild, t, r, s, !1) } function Em(e, t, i, n, r, s) { const o = i[yt], l = o[Yt].projection[n.projection]; if (Array.isArray(l)) for (let c = 0; c < l.length; c++)xs(t, e, r, l[c], s); else { let c = l; const u = o[tt]; Al(n) && (c.flags |= 128), jd(e, t, c, u, r, s, !0) } } function Sm(e, t, i) { "" === i ? e.removeAttribute(t, "class") : e.setAttribute(t, "class", i) } function Tm(e, t, i) { const { mergedAttrs: n, classes: r, styles: s } = i; null !== n && Xu(e, t, n), null !== r && Sm(e, t, r), null !== s && function MM(e, t, i) { e.setAttribute(t, "style", i) }(e, t, s) } function Rs(e) { return function $d() { if (void 0 === Bl && (Bl = null, je.trustedTypes)) try { Bl = je.trustedTypes.createOperation("angular", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Bl }()?.createHTML(e) || e } function Ps() { if (void 0 !== Gd) return Gd; if (typeof document < "u") return document; throw new F(210, !1) } function Mm(e) { return function zd() { if (void 0 === Vl && (Vl = null, je.trustedTypes)) try { Vl = je.trustedTypes.createOperation("angular#unsafe-bypass", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Vl }()?.createHTML(e) || e } class Am { constructor(t) { this.changingThisBreaksApplicationSecurity = t } toString() { return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})` } } function or(e) { return e instanceof Am ? e.changingThisBreaksApplicationSecurity : e } function zo(e, t) { const i = function LM(e) { return e instanceof Am && e.getTypeName() || null }(e); if (null != i && i !== t) { if ("ResourceURL" === i && "URL" === t) return !0; throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`) } return i === t } class BM { constructor(t) { this.inertDocumentHelper = t } getInertBodyElement(t) { t = "" + t; try { const i = (new window.DOMParser).parseFromString(Rs(t), "text/html").body; return null === i ? this.inertDocumentHelper.getInertBodyElement(t) : (i.removeChild(i.firstChild), i) } catch { return null } } } class VM { constructor(t) { this.defaultDoc = t, this.inertDocument = this.defaultDoc.implementation.createHTMLDocument("sanitization-inert") } getInertBodyElement(t) { const i = this.inertDocument.createElement("template"); return i.innerHTML = Rs(t), i } } const UM = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; function Wd(e) { return (e = String(e)).match(UM) ? e : "unsafe:" + e } function $i(e) { const t = {}; for (const i of e.split(",")) t[i] = !0; return t } function Wo(...e) { const t = {}; for (const i of e) for (const n in i) i.hasOwnProperty(n) && (t[n] = !0); return t } const xm = $i("area,br,col,hr,img,wbr"), Rm = $i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), Pm = $i("rp,rt"), qd = Wo(xm, Wo(Rm, $i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")), Wo(Pm, $i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")), Wo(Pm, Rm)), Yd = $i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"), Fm = Wo(Yd, $i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"), $i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")), jM = $i("script,style,template"); class $M { constructor() { this.sanitizedSomething = !1, this.buf = [] } sanitizeChildren(t) { let i = t.firstChild, n = !0; for (; i;)if (i.nodeType === Node.ELEMENT_NODE ? n = this.startElement(i) : i.nodeType === Node.TEXT_NODE ? this.chars(i.nodeValue) : this.sanitizedSomething = !0, n && i.firstChild) i = i.firstChild; else for (; i;) { i.nodeType === Node.ELEMENT_NODE && this.endElement(i); let r = this.checkClobberedElement(i, i.nextSibling); if (r) { i = r; break } i = this.checkClobberedElement(i, i.parentNode) } return this.buf.join("") } startElement(t) { const i = t.nodeName.toLowerCase(); if (!qd.hasOwnProperty(i)) return this.sanitizedSomething = !0, !jM.hasOwnProperty(i); this.buf.push("<"), this.buf.push(i); const n = t.attributes; for (let r = 0; r < n.length; r++) { const s = n.item(r), o = s.name, a = o.toLowerCase(); if (!Fm.hasOwnProperty(a)) { this.sanitizedSomething = !0; continue } let l = s.value; Yd[a] && (l = Wd(l)), this.buf.push(" ", o, '="', km(l), '"') } return this.buf.push(">"), !0 } endElement(t) { const i = t.nodeName.toLowerCase(); qd.hasOwnProperty(i) && !xm.hasOwnProperty(i) && (this.buf.push("")) } chars(t) { this.buf.push(km(t)) } checkClobberedElement(t, i) { if (i && (t.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`); return i } } const GM = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, zM = /([^\#-~ |!])/g; function km(e) { return e.replace(/&/g, "&").replace(GM, function (t) { return "&#" + (1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536) + ";" }).replace(zM, function (t) { return "&#" + t.charCodeAt(0) + ";" }).replace(//g, ">") } let Hl; function Zd(e) { return "content" in e && function qM(e) { return e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.nodeName }(e) ? e.content : null } var Fs = function (e) { return e[e.NONE = 0] = "NONE", e[e.HTML = 1] = "HTML", e[e.STYLE = 2] = "STYLE", e[e.SCRIPT = 3] = "SCRIPT", e[e.URL = 4] = "URL", e[e.RESOURCE_URL = 5] = "RESOURCE_URL", e }(Fs || {}); function Lm(e) { const t = qo(); return t ? Mm(t.sanitize(Fs.HTML, e) || "") : zo(e, "HTML") ? Mm(or(e)) : function WM(e, t) { let i = null; try { Hl = Hl || function Om(e) { const t = new VM(e); return function HM() { try { return !!(new window.DOMParser).parseFromString(Rs(""), "text/html") } catch { return !1 } }() ? new BM(t) : t }(e); let n = t ? String(t) : ""; i = Hl.getInertBodyElement(n); let r = 5, s = n; do { if (0 === r) throw new Error("Failed to sanitize html because the input is unstable"); r--, n = s, s = i.innerHTML, i = Hl.getInertBodyElement(n) } while (n !== s); return Rs((new $M).sanitizeChildren(Zd(i) || i)) } finally { if (i) { const n = Zd(i) || i; for (; n.firstChild;)n.removeChild(n.firstChild) } } }(Ps(), te(e)) } function Jd(e) { const t = qo(); return t ? t.sanitize(Fs.URL, e) || "" : zo(e, "URL") ? or(e) : Wd(te(e)) } function qo() { const e = A(); return e && e[ps].sanitizer } class W { constructor(t, i) { this._desc = t, this.ngMetadataName = "InjectionToken", this.\u0275prov = void 0, "number" == typeof i ? this.__NG_ELEMENT_ID__ = i : void 0 !== i && (this.\u0275prov = G({ token: this, providedIn: i.providedIn || "root", factory: i.factory })) } get multi() { return this } toString() { return `InjectionToken ${this._desc}` } } const Ul = new W("ENVIRONMENT_INITIALIZER"), Vm = new W("INJECTOR", -1), Hm = new W("INJECTOR_DEF_TYPES"); class Qd { get(t, i = Co) { if (i === Co) { const n = new Error(`NullInjectorError: No provider for ${Nt(t)}!`); throw n.name = "NullInjectorError", n } return i } } function eI(...e) { return { \u0275providers: Um(0, e), \u0275fromNgModule: !0 } } function Um(e, ...t) { const i = [], n = new Set; let r; const s = o => { i.push(o) }; return Is(t, o => { const a = o; jl(a, s, [], n) && (r ||= [], r.push(a)) }), void 0 !== r && jm(r, s), i } function jm(e, t) { for (let i = 0; i < e.length; i++) { const { ngModule: n, providers: r } = e[i]; Xd(r, s => { t(s, n) }) } } function jl(e, t, i, n) { if (!(e = X(e))) return !1; let r = null, s = tl(e); const o = !s && me(e); if (s || o) { if (o && !o.standalone) return !1; r = e } else { const l = e.ngModule; if (s = tl(l), !s) return !1; r = l } const a = n.has(r); if (o) { if (a) return !1; if (n.add(r), o.dependencies) { const l = "function" == typeof o.dependencies ? o.dependencies() : o.dependencies; for (const c of l) jl(c, t, i, n) } } else { if (!s) return !1; { if (null != s.imports && !a) { let c; n.add(r); try { Is(s.imports, u => { jl(u, t, i, n) && (c ||= [], c.push(u)) }) } finally { } void 0 !== c && jm(c, t) } if (!a) { const c = Er(r) || (() => new r); t({ provide: r, useFactory: c, deps: Ee }, r), t({ provide: Hm, useValue: r, multi: !0 }, r), t({ provide: Ul, useValue: () => L(r), multi: !0 }, r) } const l = s.providers; if (null != l && !a) { const c = e; Xd(l, u => { t(u, c) }) } } } return r !== e && void 0 !== e.providers } function Xd(e, t) { for (let i of e) Uu(i) && (i = i.\u0275providers), Array.isArray(i) ? Xd(i, t) : t(i) } const tI = Re({ provide: String, useValue: Re }); function ef(e) { return null !== e && "object" == typeof e && tI in e } function Ir(e) { return "function" == typeof e } const tf = new W("Set Injector scope."), $l = {}, iI = {}; let nf; function Gl() { return void 0 === nf && (nf = new Qd), nf } class zn { } class zl extends zn { get destroyed() { return this._destroyed } constructor(t, i, n, r) { super(), this.parent = i, this.source = n, this.scopes = r, this.records = new Map, this._ngOnDestroyHooks = new Set, this._onDestroyHooks = [], this._destroyed = !1, sf(t, o => this.processProvider(o)), this.records.set(Vm, ks(void 0, this)), r.has("environment") && this.records.set(zn, ks(void 0, this)); const s = this.records.get(tf); null != s && "string" == typeof s.value && this.scopes.add(s.value), this.injectorDefTypes = new Set(this.get(Hm.multi, Ee, ge.Self)) } destroy() { this.assertNotDestroyed(), this._destroyed = !0; try { for (const i of this._ngOnDestroyHooks) i.ngOnDestroy(); const t = this._onDestroyHooks; this._onDestroyHooks = []; for (const i of t) i() } finally { this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear() } } onDestroy(t) { return this.assertNotDestroyed(), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t) } runInContext(t) { this.assertNotDestroyed(); const i = er(this), n = _n(void 0); try { return t() } finally { er(i), _n(n) } } get(t, i = Co, n = ge.Default) { if (this.assertNotDestroyed(), t.hasOwnProperty(kg)) return t[kg](this); n = rl(n); const s = er(this), o = _n(void 0); try { if (!(n & ge.SkipSelf)) { let l = this.records.get(t); if (void 0 === l) { const c = function lI(e) { return "function" == typeof e || "object" == typeof e && e instanceof W }(t) && el(t); l = c && this.injectableDefInScope(c) ? ks(rf(t), $l) : null, this.records.set(t, l) } if (null != l) return this.hydrate(t, l) } return (n & ge.Self ? Gl() : this.parent).get(t, i = n & ge.Optional && i === Co ? null : i) } catch (a) { if ("NullInjectorError" === a.name) { if ((a[il] = a[il] || []).unshift(Nt(t)), s) throw a; return function sS(e, t, i, n) { const r = e[il]; throw t[Rg] && r.unshift(t[Rg]), e.message = function oS(e, t, i, n = null) { e = e && "\n" === e.charAt(0) && "\u0275" == e.charAt(1) ? e.slice(2) : e; let r = Nt(t); if (Array.isArray(t)) r = t.map(Nt).join(" -> "); else if ("object" == typeof t) { let s = []; for (let o in t) if (t.hasOwnProperty(o)) { let a = t[o]; s.push(o + ":" + ("string" == typeof a ? JSON.stringify(a) : Nt(a))) } r = `{${s.join(", ")}}` } return `${i}${n ? "(" + n + ")" : ""}[${r}]: ${e.replace(eS, "\n ")}` }("\n" + e.message, r, i, n), e.ngTokenPath = r, e[il] = null, e }(a, t, "R3InjectorError", this.source) } throw a } finally { _n(o), er(s) } } resolveInjectorInitializers() { const t = er(this), i = _n(void 0); try { const r = this.get(Ul.multi, Ee, ge.Self); for (const s of r) s() } finally { er(t), _n(i) } } toString() { const t = [], i = this.records; for (const n of i.keys()) t.push(Nt(n)); return `R3Injector[${t.join(", ")}]` } assertNotDestroyed() { if (this._destroyed) throw new F(205, !1) } processProvider(t) { let i = Ir(t = X(t)) ? t : X(t && t.provide); const n = function sI(e) { return ef(e) ? ks(void 0, e.useValue) : ks(zm(e), $l) }(t); if (Ir(t) || !0 !== t.multi) this.records.get(i); else { let r = this.records.get(i); r || (r = ks(void 0, $l, !0), r.factory = () => Ju(r.multi), this.records.set(i, r)), i = t, r.multi.push(t) } this.records.set(i, n) } hydrate(t, i) { return i.value === $l && (i.value = iI, i.value = i.factory()), "object" == typeof i.value && i.value && function aI(e) { return null !== e && "object" == typeof e && "function" == typeof e.ngOnDestroy }(i.value) && this._ngOnDestroyHooks.add(i.value), i.value } injectableDefInScope(t) { if (!t.providedIn) return !1; const i = X(t.providedIn); return "string" == typeof i ? "any" === i || this.scopes.has(i) : this.injectorDefTypes.has(i) } removeOnDestroy(t) { const i = this._onDestroyHooks.indexOf(t); -1 !== i && this._onDestroyHooks.splice(i, 1) } } function rf(e) { const t = el(e), i = null !== t ? t.factory : Er(e); if (null !== i) return i; if (e instanceof W) throw new F(204, !1); if (e instanceof Function) return function rI(e) { const t = e.length; if (t > 0) throw Vo(t, "?"), new F(204, !1); const i = function JE(e) { return e && (e[nl] || e[Ng]) || null }(e); return null !== i ? () => i.factory(e) : () => new e }(e); throw new F(204, !1) } function zm(e, t, i) { let n; if (Ir(e)) { const r = X(e); return Er(r) || rf(r) } if (ef(e)) n = () => X(e.useValue); else if (function Gm(e) { return !(!e || !e.useFactory) }(e)) n = () => e.useFactory(...Ju(e.deps || [])); else if (function $m(e) { return !(!e || !e.useExisting) }(e)) n = () => L(X(e.useExisting)); else { const r = X(e && (e.useClass || e.provide)); if (!function oI(e) { return !!e.deps }(e)) return Er(r) || rf(r); n = () => new r(...Ju(e.deps)) } return n } function ks(e, t, i = !1) { return { factory: e, value: t, multi: i ? [] : void 0 } } function sf(e, t) { for (const i of e) Array.isArray(i) ? sf(i, t) : i && Uu(i) ? sf(i.\u0275providers, t) : t(i) } const Wl = new W("AppId", { providedIn: "root", factory: () => cI }), cI = "ng", Wm = new W("Platform Initializer"), Nr = new W("Platform ID", { providedIn: "platform", factory: () => "unknown" }), qm = new W("CSP nonce", { providedIn: "root", factory: () => Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); let Ym = (e, t, i) => null; function pf(e, t, i = !1) { return Ym(e, t, i) } class yI { } class Qm { } class DI { resolveComponentFactory(t) { throw function bI(e) { const t = Error(`No component factory found for ${Nt(e)}.`); return t.ngComponent = e, t }(t) } } let Kl = (() => { class t { } return t.NULL = new DI, t })(); function wI() { return Vs(Ut(), A()) } function Vs(e, t) { return new Fe(yn(e, t)) } let Fe = (() => { class t { constructor(n) { this.nativeElement = n } } return t.__NG_ELEMENT_ID__ = wI, t })(); function CI(e) { return e instanceof Fe ? e.nativeElement : e } class mf { } let Wn = (() => { class t { constructor() { this.destroyNode = null } } return t.__NG_ELEMENT_ID__ = () => function EI() { const e = A(), i = On(Ut().index, e); return (vn(i) ? i : e)[ne] }(), t })(), SI = (() => { var e; class t { } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => null }), t })(); class Xl { constructor(t) { this.full = t, this.major = t.split(".")[0], this.minor = t.split(".")[1], this.patch = t.split(".").slice(2).join(".") } } const TI = new Xl("16.2.3"), vf = {}; function nv(e, t = null, i = null, n) { const r = iv(e, t, i, n); return r.resolveInjectorInitializers(), r } function iv(e, t = null, i = null, n, r = new Set) { const s = [i || Ee, eI(e)]; return n = n || ("object" == typeof e ? void 0 : Nt(e)), new zl(s, t || Gl(), n || null, r) } let Jt = (() => { var e; class t { static create(n, r) { if (Array.isArray(n)) return nv({ name: "" }, r, n, ""); { const s = n.name ?? ""; return nv({ name: s }, n.parent, n.providers, s) } } } return (e = t).THROW_IF_NOT_FOUND = Co, e.NULL = new Qd, e.\u0275prov = G({ token: e, providedIn: "any", factory: () => L(Vm) }), e.__NG_ELEMENT_ID__ = -1, t })(); function Df(e) { return t => { setTimeout(e, void 0, t) } } const Y = class RI extends ee { constructor(t = !1) { super(), this.__isAsync = t } emit(t) { super.next(t) } subscribe(t, i, n) { let r = t, s = i || (() => null), o = n; if (t && "object" == typeof t) { const l = t; r = l.next?.bind(l), s = l.error?.bind(l), o = l.complete?.bind(l) } this.__isAsync && (s = Df(s), r && (r = Df(r)), o && (o = Df(o))); const a = super.subscribe({ next: r, error: s, complete: o }); return t instanceof de && t.add(a), a } }; function rv(...e) { } class Se { constructor({ enableLongStackTrace: t = !1, shouldCoalesceEventChangeDetection: i = !1, shouldCoalesceRunChangeDetection: n = !1 }) { if (this.hasPendingMacrotasks = !1, this.hasPendingMicrotasks = !1, this.isStable = !0, this.onUnstable = new Y(!1), this.onMicrotaskEmpty = new Y(!1), this.onStable = new Y(!1), this.onError = new Y(!1), typeof Zone > "u") throw new F(908, !1); Zone.assertZonePatched(); const r = this; r._nesting = 0, r._outer = r._inner = Zone.current, Zone.TaskTrackingZoneSpec && (r._inner = r._inner.fork(new Zone.TaskTrackingZoneSpec)), t && Zone.longStackTraceZoneSpec && (r._inner = r._inner.fork(Zone.longStackTraceZoneSpec)), r.shouldCoalesceEventChangeDetection = !n && i, r.shouldCoalesceRunChangeDetection = n, r.lastRequestAnimationFrameId = -1, r.nativeRequestAnimationFrame = function PI() { const e = "function" == typeof je.requestAnimationFrame; let t = je[e ? "requestAnimationFrame" : "setTimeout"], i = je[e ? "cancelAnimationFrame" : "clearTimeout"]; if (typeof Zone < "u" && t && i) { const n = t[Zone.__symbol__("OriginalDelegate")]; n && (t = n); const r = i[Zone.__symbol__("OriginalDelegate")]; r && (i = r) } return { nativeRequestAnimationFrame: t, nativeCancelAnimationFrame: i } }().nativeRequestAnimationFrame, function LI(e) { const t = () => { !function kI(e) { e.isCheckStableRunning || -1 !== e.lastRequestAnimationFrameId || (e.lastRequestAnimationFrameId = e.nativeRequestAnimationFrame.call(je, () => { e.fakeTopEventTask || (e.fakeTopEventTask = Zone.root.scheduleEventTask("fakeTopEventTask", () => { e.lastRequestAnimationFrameId = -1, Cf(e), e.isCheckStableRunning = !0, wf(e), e.isCheckStableRunning = !1 }, void 0, () => { }, () => { })), e.fakeTopEventTask.invoke() }), Cf(e)) }(e) }; e._inner = e._inner.fork({ name: "angular", properties: { isAngularZone: !0 }, onInvokeTask: (i, n, r, s, o, a) => { try { return sv(e), i.invokeTask(r, s, o, a) } finally { (e.shouldCoalesceEventChangeDetection && "eventTask" === s.type || e.shouldCoalesceRunChangeDetection) && t(), ov(e) } }, onInvoke: (i, n, r, s, o, a, l) => { try { return sv(e), i.invoke(r, s, o, a, l) } finally { e.shouldCoalesceRunChangeDetection && t(), ov(e) } }, onHasTask: (i, n, r, s) => { i.hasTask(r, s), n === r && ("microTask" == s.change ? (e._hasPendingMicrotasks = s.microTask, Cf(e), wf(e)) : "macroTask" == s.change && (e.hasPendingMacrotasks = s.macroTask)) }, onHandleError: (i, n, r, s) => (i.handleError(r, s), e.runOutsideAngular(() => e.onError.emit(s)), !1) }) }(r) } static isInAngularZone() { return typeof Zone < "u" && !0 === Zone.current.get("isAngularZone") } static assertInAngularZone() { if (!Se.isInAngularZone()) throw new F(909, !1) } static assertNotInAngularZone() { if (Se.isInAngularZone()) throw new F(909, !1) } run(t, i, n) { return this._inner.run(t, i, n) } runTask(t, i, n, r) { const s = this._inner, o = s.scheduleEventTask("NgZoneEvent: " + r, t, FI, rv, rv); try { return s.runTask(o, i, n) } finally { s.cancelTask(o) } } runGuarded(t, i, n) { return this._inner.runGuarded(t, i, n) } runOutsideAngular(t) { return this._outer.run(t) } } const FI = {}; function wf(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 Cf(e) { e.hasPendingMicrotasks = !!(e._hasPendingMicrotasks || (e.shouldCoalesceEventChangeDetection || e.shouldCoalesceRunChangeDetection) && -1 !== e.lastRequestAnimationFrameId) } function sv(e) { e._nesting++, e.isStable && (e.isStable = !1, e.onUnstable.emit(null)) } function ov(e) { e._nesting--, wf(e) } class BI { constructor() { this.hasPendingMicrotasks = !1, this.hasPendingMacrotasks = !1, this.isStable = !0, this.onUnstable = new Y, this.onMicrotaskEmpty = new Y, this.onStable = new Y, this.onError = new Y } run(t, i, n) { return t.apply(i, n) } runGuarded(t, i, n) { return t.apply(i, n) } runOutsideAngular(t) { return t() } runTask(t, i, n, r) { return t.apply(i, n) } } const av = new W("", { providedIn: "root", factory: lv }); function lv() { const e = fe(Se); let t = !0; return function Eg(...e) { const t = Qa(e), i = function FE(e, t) { return "number" == typeof Fu(e) ? e.pop() : t }(e, 1 / 0), n = e; return n.length ? 1 === n.length ? Ft(n[0]) : yg(i)(wo(n, t)) : Do }(new ze(r => { t = e.isStable && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks, e.runOutsideAngular(() => { r.next(t), r.complete() }) }), new ze(r => { let s; e.runOutsideAngular(() => { s = e.onStable.subscribe(() => { Se.assertNotInAngularZone(), queueMicrotask(() => { !t && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks && (t = !0, r.next(!0)) }) }) }); const o = e.onUnstable.subscribe(() => { Se.assertInAngularZone(), t && (t = !1, e.runOutsideAngular(() => { r.next(!1) })) }); return () => { s.unsubscribe(), o.unsubscribe() } }).pipe(Sg())) } let Ef = (() => { var e; class t { constructor() { this.callbacks = new Set, this.deferredCallbacks = new Set, this.renderDepth = 0, this.runningCallbacks = !1 } begin() { if (this.runningCallbacks) throw new F(102, !1); this.renderDepth++ } end() { if (this.renderDepth--, 0 === this.renderDepth) try { this.runningCallbacks = !0; for (const n of this.callbacks) n.invoke() } finally { this.runningCallbacks = !1; for (const n of this.deferredCallbacks) this.callbacks.add(n); this.deferredCallbacks.clear() } } register(n) { (this.runningCallbacks ? this.deferredCallbacks : this.callbacks).add(n) } unregister(n) { this.callbacks.delete(n), this.deferredCallbacks.delete(n) } ngOnDestroy() { this.callbacks.clear(), this.deferredCallbacks.clear() } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function Jo(e) { for (; e;) { e[ie] |= 64; const t = jo(e); if (nd(e) && !t) return e; e = t } return null } function Sf(e) { return e.ngOriginalError } class Ar { constructor() { this._console = console } handleError(t) { const i = this._findOriginalError(t); this._console.error("ERROR", t), i && this._console.error("ORIGINAL ERROR", i) } _findOriginalError(t) { let i = t && Sf(t); for (; i && Sf(i);)i = Sf(i); return i || null } } const hv = new W("", { providedIn: "root", factory: () => !1 }); class mv extends n_ { constructor() { super(...arguments), this.consumerAllowSignalWrites = !1, this._lView = null } set lView(t) { this._lView = t } onConsumerDependencyMayHaveChanged() { Jo(this._lView) } onProducerUpdateValueVersion() { } get hasReadASignal() { return this.hasProducers } runInContext(t, i, n) { const r = kt(this); this.trackingVersion++; try { t(i, n) } finally { kt(r) } } destroy() { this.trackingVersion++ } } let tc = null; function vv() { return tc ??= new mv, tc } function yv(e, t) { return e[t] ?? vv() } function bv(e, t) { const i = vv(); i.hasReadASignal && (e[t] = tc, i.lView = e, tc = new mv) } const re = {}; function R(e) { Dv(ve(), A(), cn() + e, !1) } function Dv(e, t, i, n) { if (!n) if (3 == (3 & t[ie])) { const s = e.preOrderCheckHooks; null !== s && vl(t, s, i) } else { const s = e.preOrderHooks; null !== s && yl(t, s, 0, i) } Sr(i) } function v(e, t = ge.Default) { const i = A(); return null === i ? L(e, t) : L_(Ut(), i, X(e), t) } function nc(e, t, i, n, r, s, o, a, l, c, u) { const h = t.blueprint.slice(); return h[ht] = r, h[ie] = 140 | n, (null !== c || e && 2048 & e[ie]) && (h[ie] |= 2048), f_(h), h[tt] = h[gs] = e, h[vt] = i, h[ps] = o || e && e[ps], h[ne] = a || e && e[ne], h[tr] = l || e && e[tr] || null, h[Yt] = s, h[Oo] = function nM() { return tM++ }(), h[Hi] = u, h[Jg] = c, h[yt] = 2 == t.type ? e[yt] : h, h } function js(e, t, i, n, r) { let s = e.data[t]; if (null === s) s = function Tf(e, t, i, n, r) { const s = v_(), o = cd(), l = e.data[t] = function nN(e, t, i, n, r, s) { let o = t ? t.injectorIndex : -1, a = 0; return ys() && (a |= 128), { type: i, index: n, insertBeforeIndex: null, injectorIndex: o, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: r, attrs: s, mergedAttrs: null, localNames: null, initialInputs: void 0, inputs: null, outputs: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 } }(0, o ? s : s && s.parent, i, t, n, r); return null === e.firstChild && (e.firstChild = l), null !== s && (o ? null == s.child && null !== l.parent && (s.child = l) : null === s.next && (s.next = l, l.prev = s)), l }(e, t, i, n, r), function tT() { return K.lFrame.inI18n }() && (s.flags |= 32); else if (64 & s.type) { s.type = i, s.value = n, s.attrs = r; const o = function Ro() { const e = K.lFrame, t = e.currentTNode; return e.isParent ? t : t.parent }(); s.injectorIndex = null === o ? -1 : o.injectorIndex } return Ti(s, !0), s } function Qo(e, t, i, n) { if (0 === i) return -1; const r = t.length; for (let s = 0; s < i; s++)t.push(n), e.blueprint.push(n), e.data.push(null); return r } function wv(e, t, i, n, r) { const s = yv(t, ll), o = cn(), a = 2 & n; try { if (Sr(-1), a && t.length > pe && Dv(e, t, pe, !1), Si(a ? 2 : 0, r), a) s.runInContext(i, n, r); else { const c = kt(null); try { i(n, r) } finally { kt(c) } } } finally { a && null === t[ll] && bv(t, ll), Sr(o), Si(a ? 3 : 1, r) } } function Mf(e, t, i) { if (td(t)) { const n = kt(null); try { const s = t.directiveEnd; for (let o = t.directiveStart; o < s; o++) { const a = e.data[o]; a.contentQueries && a.contentQueries(1, i[o], o) } } finally { kt(n) } } } function If(e, t, i) { m_() && (function cN(e, t, i, n) { const r = i.directiveStart, s = i.directiveEnd; Cr(i) && function _N(e, t, i) { const n = yn(t, e), r = Cv(i); let o = 16; i.signals ? o = 4096 : i.onPush && (o = 64); const a = ic(e, nc(e, r, null, o, n, t, null, e[ps].rendererFactory.createRenderer(n, i), null, null, null)); e[t.index] = a }(t, i, e.data[r + i.componentOffset]), e.firstCreatePass || Dl(i, t), Zt(n, t); const o = i.initialInputs; for (let a = r; a < s; a++) { const l = e.data[a], c = Tr(t, e, a, i); Zt(c, t), null !== o && mN(0, a - r, c, l, 0, o), ii(l) && (On(i.index, t)[vt] = Tr(t, e, a, i)) } }(e, t, i, yn(i, t)), 64 == (64 & i.flags) && Iv(e, t, i)) } function Nf(e, t, i = yn) { const n = t.localNames; if (null !== n) { let r = t.index + 1; for (let s = 0; s < n.length; s += 2) { const o = n[s + 1], a = -1 === o ? i(t, e) : e[o]; e[r++] = a } } } function Cv(e) { const t = e.tView; return null === t || t.incompleteFirstPass ? e.tView = Af(1, null, e.template, e.decls, e.vars, e.directiveDefs, e.pipeDefs, e.viewQuery, e.schemas, e.consts, e.id) : t } function Af(e, t, i, n, r, s, o, a, l, c, u) { const h = pe + n, g = h + r, _ = function JI(e, t) { const i = []; for (let n = 0; n < t; n++)i.push(n < e ? null : re); return i }(h, g), y = "function" == typeof c ? c() : c; return _[H] = { type: e, blueprint: _, template: i, queries: null, viewQuery: a, declTNode: t, data: _.slice().fill(null, h), bindingStartIndex: h, expandoStartIndex: g, hostBindingOpCodes: null, firstCreatePass: !0, firstUpdatePass: !0, staticViewQueries: !1, staticContentQueries: !1, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: "function" == typeof s ? s() : s, pipeRegistry: "function" == typeof o ? o() : o, firstChild: null, schemas: l, consts: y, incompleteFirstPass: !1, ssrId: u } } let Ev = e => null; function Sv(e, t, i, n) { for (let r in e) if (e.hasOwnProperty(r)) { i = null === i ? {} : i; const s = e[r]; null === n ? Tv(i, t, r, s) : n.hasOwnProperty(r) && Tv(i, t, n[r], s) } return i } function Tv(e, t, i, n) { e.hasOwnProperty(i) ? e[i].push(t, n) : e[i] = [t, n] } function Rn(e, t, i, n, r, s, o, a) { const l = yn(t, i); let u, c = t.inputs; !a && null != c && (u = c[n]) ? (Ff(e, i, u, n, r), Cr(t) && function sN(e, t) { const i = On(t, e); 16 & i[ie] || (i[ie] |= 64) }(i, t.index)) : 3 & t.type && (n = function rN(e) { return "class" === e ? "className" : "for" === e ? "htmlFor" : "formaction" === e ? "formAction" : "innerHtml" === e ? "innerHTML" : "readonly" === e ? "readOnly" : "tabindex" === e ? "tabIndex" : e }(n), r = null != o ? o(r, t.value || "", n) : r, s.setProperty(l, n, r)) } function Of(e, t, i, n) { if (m_()) { const r = null === n ? null : { "": -1 }, s = function dN(e, t) { const i = e.directiveRegistry; let n = null, r = null; if (i) for (let s = 0; s < i.length; s++) { const o = i[s]; if ($g(t, o.selectors, !1)) if (n || (n = []), ii(o)) if (null !== o.findHostDirectiveDefs) { const a = []; r = r || new Map, o.findHostDirectiveDefs(o, a, r), n.unshift(...a, o), xf(e, t, a.length) } else n.unshift(o), xf(e, t, 0); else r = r || new Map, o.findHostDirectiveDefs?.(o, n, r), n.push(o) } return null === n ? null : [n, r] }(e, i); let o, a; null === s ? o = a = null : [o, a] = s, null !== o && Mv(e, t, i, o, r, a), r && function fN(e, t, i) { if (t) { const n = e.localNames = []; for (let r = 0; r < t.length; r += 2) { const s = i[t[r + 1]]; if (null == s) throw new F(-301, !1); n.push(t[r], s) } } }(i, n, r) } i.mergedAttrs = To(i.mergedAttrs, i.attrs) } function Mv(e, t, i, n, r, s) { for (let c = 0; c < n.length; c++)Dd(Dl(i, t), e, n[c].type); !function pN(e, t, i) { e.flags |= 1, e.directiveStart = t, e.directiveEnd = t + i, e.providerIndexes = t }(i, e.data.length, n.length); for (let c = 0; c < n.length; c++) { const u = n[c]; u.providersResolver && u.providersResolver(u) } let o = !1, a = !1, l = Qo(e, t, n.length, null); for (let c = 0; c < n.length; c++) { const u = n[c]; i.mergedAttrs = To(i.mergedAttrs, u.hostAttrs), gN(e, i, t, l, u), hN(l, u, r), null !== u.contentQueries && (i.flags |= 4), (null !== u.hostBindings || null !== u.hostAttrs || 0 !== u.hostVars) && (i.flags |= 64); const h = u.type.prototype; !o && (h.ngOnChanges || h.ngOnInit || h.ngDoCheck) && ((e.preOrderHooks ??= []).push(i.index), o = !0), !a && (h.ngOnChanges || h.ngDoCheck) && ((e.preOrderCheckHooks ??= []).push(i.index), a = !0), l++ } !function iN(e, t, i) { const r = t.directiveEnd, s = e.data, o = t.attrs, a = []; let l = null, c = null; for (let u = t.directiveStart; u < r; u++) { const h = s[u], g = i ? i.get(h) : null, y = g ? g.outputs : null; l = Sv(h.inputs, u, l, g ? g.inputs : null), c = Sv(h.outputs, u, c, y); const b = null === l || null === o || jg(t) ? null : vN(l, u, o); a.push(b) } null !== l && (l.hasOwnProperty("class") && (t.flags |= 8), l.hasOwnProperty("style") && (t.flags |= 16)), t.initialInputs = a, t.inputs = l, t.outputs = c }(e, i, s) } function Iv(e, t, i) { const n = i.directiveStart, r = i.directiveEnd, s = i.index, o = function iT() { return K.lFrame.currentDirectiveIndex }(); try { Sr(s); for (let a = n; a < r; a++) { const l = e.data[a], c = t[a]; dd(a), (null !== l.hostBindings || 0 !== l.hostVars || null !== l.hostAttrs) && uN(l, c) } } finally { Sr(-1), dd(o) } } function uN(e, t) { null !== e.hostBindings && e.hostBindings(1, t) } function xf(e, t, i) { t.componentOffset = i, (e.components ??= []).push(t.index) } function hN(e, t, i) { if (i) { if (t.exportAs) for (let n = 0; n < t.exportAs.length; n++)i[t.exportAs[n]] = e; ii(t) && (i[""] = e) } } function gN(e, t, i, n, r) { e.data[n] = r; const s = r.factory || (r.factory = Er(r.type)), o = new Po(s, ii(r), v); e.blueprint[n] = o, i[n] = o, function aN(e, t, i, n, r) { const s = r.hostBindings; if (s) { let o = e.hostBindingOpCodes; null === o && (o = e.hostBindingOpCodes = []); const a = ~t.index; (function lN(e) { let t = e.length; for (; t > 0;) { const i = e[--t]; if ("number" == typeof i && i < 0) return i } return 0 })(o) != a && o.push(a), o.push(i, n, s) } }(e, t, n, Qo(e, i, r.hostVars, re), r) } function Ii(e, t, i, n, r, s) { const o = yn(e, t); !function Rf(e, t, i, n, r, s, o) { if (null == s) e.removeAttribute(t, r, i); else { const a = null == o ? te(s) : o(s, n || "", r); e.setAttribute(t, r, a, i) } }(t[ne], o, s, e.value, i, n, r) } function mN(e, t, i, n, r, s) { const o = s[t]; if (null !== o) for (let a = 0; a < o.length;)Nv(n, i, o[a++], o[a++], o[a++]) } function Nv(e, t, i, n, r) { const s = kt(null); try { const o = e.inputTransforms; null !== o && o.hasOwnProperty(n) && (r = o[n].call(t, r)), null !== e.setInput ? e.setInput(t, r, i, n) : t[n] = r } finally { kt(s) } } function vN(e, t, i) { let n = null, r = 0; for (; r < i.length;) { const s = i[r]; if (0 !== s) if (5 !== s) { if ("number" == typeof s) break; if (e.hasOwnProperty(s)) { null === n && (n = []); const o = e[s]; for (let a = 0; a < o.length; a += 2)if (o[a] === t) { n.push(s, o[a + 1], i[r + 1]); break } } r += 2 } else r += 2; else r += 4 } return n } function Av(e, t, i, n) { return [e, !0, !1, t, null, 0, n, i, null, null, null] } function Ov(e, t) { const i = e.contentQueries; if (null !== i) for (let n = 0; n < i.length; n += 2) { const s = i[n + 1]; if (-1 !== s) { const o = e.data[s]; hd(i[n]), o.contentQueries(2, t[s], s) } } } function ic(e, t) { return e[No] ? e[Zg][ni] = t : e[No] = t, e[Zg] = t, t } function Pf(e, t, i) { hd(0); const n = kt(null); try { t(e, i) } finally { kt(n) } } function xv(e) { return e[hs] || (e[hs] = []) } function Rv(e) { return e.cleanup || (e.cleanup = []) } function Fv(e, t) { const i = e[tr], n = i ? i.get(Ar, null) : null; n && n.handleError(t) } function Ff(e, t, i, n, r) { for (let s = 0; s < i.length;) { const o = i[s++], a = i[s++]; Nv(e.data[o], t[o], n, a, r) } } function yN(e, t) { const i = On(t, e), n = i[H]; !function bN(e, t) { for (let i = t.length; i < e.blueprint.length; i++)t.push(e.blueprint[i]) }(n, i); const r = i[ht]; null !== r && null === i[Hi] && (i[Hi] = pf(r, i[tr])), kf(n, i, i[vt]) } function kf(e, t, i) { pd(t); try { const n = e.viewQuery; null !== n && Pf(1, n, i); const r = e.template; null !== r && wv(e, t, r, 1, i), e.firstCreatePass && (e.firstCreatePass = !1), e.staticContentQueries && Ov(e, t), e.staticViewQueries && Pf(2, e.viewQuery, i); const s = e.components; null !== s && function DN(e, t) { for (let i = 0; i < t.length; i++)yN(e, t[i]) }(t, s) } catch (n) { throw e.firstCreatePass && (e.incompleteFirstPass = !0, e.firstCreatePass = !1), n } finally { t[ie] &= -5, gd() } } let kv = (() => { var e; class t { constructor() { this.all = new Set, this.queue = new Map } create(n, r, s) { const o = typeof Zone > "u" ? null : Zone.current, a = new PS(n, u => { this.all.has(u) && this.queue.set(u, o) }, s); let l; this.all.add(a), a.notify(); const c = () => { a.cleanup(), l?.(), this.all.delete(a), this.queue.delete(a) }; return l = r?.onDestroy(c), { destroy: c } } flush() { if (0 !== this.queue.size) for (const [n, r] of this.queue) this.queue.delete(n), r ? r.run(() => n.run()) : n.run() } get isQueueEmpty() { return 0 === this.queue.size } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function rc(e, t, i) { let n = i ? e.styles : null, r = i ? e.classes : null, s = 0; if (null !== t) for (let o = 0; o < t.length; o++) { const a = t[o]; "number" == typeof a ? s = a : 1 == s ? r = Vu(r, a) : 2 == s && (n = Vu(n, a + ": " + t[++o] + ";")) } i ? e.styles = n : e.stylesWithoutHost = n, i ? e.classes = r : e.classesWithoutHost = r } function Ko(e, t, i, n, r = !1) { for (; null !== i;) { const s = t[i.index]; null !== s && n.push(We(s)), rn(s) && Lv(s, n); const o = i.type; if (8 & o) Ko(e, t, i.child, n); else if (32 & o) { const a = Fd(i, t); let l; for (; l = a();)n.push(l) } else if (16 & o) { const a = wm(t, i); if (Array.isArray(a)) n.push(...a); else { const l = jo(t[yt]); Ko(l[H], l, a, n, !0) } } i = r ? i.projectionNext : i.next } return n } function Lv(e, t) { for (let i = Ht; i < e.length; i++) { const n = e[i], r = n[H].firstChild; null !== r && Ko(n[H], n, r, t) } e[Ci] !== e[ht] && t.push(e[Ci]) } function sc(e, t, i, n = !0) { const r = t[ps], s = r.rendererFactory, o = r.afterRenderEventManager; s.begin?.(), o?.begin(); try { Bv(e, t, e.template, i) } catch (l) { throw n && Fv(t, l), l } finally { s.end?.(), r.effectManager?.flush(), o?.end() } } function Bv(e, t, i, n) { const r = t[ie]; if (256 != (256 & r)) { t[ps].effectManager?.flush(), pd(t); try { f_(t), function b_(e) { return K.lFrame.bindingIndex = e }(e.bindingStartIndex), null !== i && wv(e, t, i, 2, n); const o = 3 == (3 & r); if (o) { const c = e.preOrderCheckHooks; null !== c && vl(t, c, null) } else { const c = e.preOrderHooks; null !== c && yl(t, c, 0, null), _d(t, 0) } if (function EN(e) { for (let t = um(e); null !== t; t = dm(t)) { if (!t[Qg]) continue; const i = t[ms]; for (let n = 0; n < i.length; n++) { GS(i[n]) } } }(t), Vv(t, 2), null !== e.contentQueries && Ov(e, t), o) { const c = e.contentCheckHooks; null !== c && vl(t, c) } else { const c = e.contentHooks; null !== c && yl(t, c, 1), _d(t, 1) } !function ZI(e, t) { const i = e.hostBindingOpCodes; if (null === i) return; const n = yv(t, cl); try { for (let r = 0; r < i.length; r++) { const s = i[r]; if (s < 0) Sr(~s); else { const o = s, a = i[++r], l = i[++r]; nT(a, o), n.runInContext(l, 2, t[o]) } } } finally { null === t[cl] && bv(t, cl), Sr(-1) } }(e, t); const a = e.components; null !== a && Uv(t, a, 0); const l = e.viewQuery; if (null !== l && Pf(2, l, n), o) { const c = e.viewCheckHooks; null !== c && vl(t, c) } else { const c = e.viewHooks; null !== c && yl(t, c, 2), _d(t, 2) } !0 === e.firstUpdatePass && (e.firstUpdatePass = !1), t[ie] &= -73, h_(t) } finally { gd() } } } function Vv(e, t) { for (let i = um(e); null !== i; i = dm(i))for (let n = Ht; n < i.length; n++)Hv(i[n], t) } function SN(e, t, i) { Hv(On(t, e), i) } function Hv(e, t) { if (!function jS(e) { return 128 == (128 & e[ie]) }(e)) return; const i = e[H]; if (80 & e[ie] && 0 === t || 1024 & e[ie] || 2 === t) Bv(i, e, i.template, e[vt]); else if (e[Io] > 0) { Vv(e, 1); const r = e[H].components; null !== r && Uv(e, r, 1) } } function Uv(e, t, i) { for (let n = 0; n < t.length; n++)SN(e, t[n], i) } class Xo { get rootNodes() { const t = this._lView, i = t[H]; return Ko(i, t, i.firstChild, []) } constructor(t, i) { this._lView = t, this._cdRefInjectingView = i, this._appRef = null, this._attachedToViewContainer = !1 } get context() { return this._lView[vt] } set context(t) { this._lView[vt] = t } get destroyed() { return 256 == (256 & this._lView[ie]) } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { const t = this._lView[tt]; if (rn(t)) { const i = t[8], n = i ? i.indexOf(this) : -1; n > -1 && (Pl(t, n), El(i, n)) } this._attachedToViewContainer = !1 } Ld(this._lView[H], this._lView) } onDestroy(t) { !function g_(e, t) { if (256 == (256 & e[ie])) throw new F(911, !1); null === e[nr] && (e[nr] = []), e[nr].push(t) }(this._lView, t) } markForCheck() { Jo(this._cdRefInjectingView || this._lView) } detach() { this._lView[ie] &= -129 } reattach() { this._lView[ie] |= 128 } detectChanges() { sc(this._lView[H], this._lView, this.context) } checkNoChanges() { } attachToViewContainerRef() { if (this._appRef) throw new F(902, !1); this._attachedToViewContainer = !0 } detachFromAppRef() { this._appRef = null, function _M(e, t) { Go(e, t, t[ne], 2, null, null) }(this._lView[H], this._lView) } attachToAppRef(t) { if (this._attachedToViewContainer) throw new F(902, !1); this._appRef = t } } class TN extends Xo { constructor(t) { super(t), this._view = t } detectChanges() { const t = this._view; sc(t[H], t, t[vt], !1) } checkNoChanges() { } get context() { return null } } class jv extends Kl { constructor(t) { super(), this.ngModule = t } resolveComponentFactory(t) { const i = me(t); return new ea(i, this.ngModule) } } function $v(e) { const t = []; for (let i in e) e.hasOwnProperty(i) && t.push({ propName: e[i], templateName: i }); return t } class IN { constructor(t, i) { this.injector = t, this.parentInjector = i } get(t, i, n) { n = rl(n); const r = this.injector.get(t, vf, n); return r !== vf || i === vf ? r : this.parentInjector.get(t, i, n) } } class ea extends Qm { get inputs() { const t = this.componentDef, i = t.inputTransforms, n = $v(t.inputs); if (null !== i) for (const r of n) i.hasOwnProperty(r.propName) && (r.transform = i[r.propName]); return n } get outputs() { return $v(this.componentDef.outputs) } constructor(t, i) { super(), this.componentDef = t, this.ngModule = i, this.componentType = t.type, this.selector = function _S(e) { return e.map(gS).join(",") }(t.selectors), this.ngContentSelectors = t.ngContentSelectors ? t.ngContentSelectors : [], this.isBoundToModule = !!i } create(t, i, n, r) { let s = (r = r || this.ngModule) instanceof zn ? r : r?.injector; s && null !== this.componentDef.getStandaloneInjector && (s = this.componentDef.getStandaloneInjector(s) || s); const o = s ? new IN(t, s) : t, a = o.get(mf, null); if (null === a) throw new F(407, !1); const h = { rendererFactory: a, sanitizer: o.get(SI, null), effectManager: o.get(kv, null), afterRenderEventManager: o.get(Ef, null) }, g = a.createRenderer(null, this.componentDef), _ = this.componentDef.selectors[0][0] || "div", y = n ? function QI(e, t, i, n) { const s = n.get(hv, !1) || i === ei.ShadowDom, o = e.selectRootElement(t, s); return function KI(e) { Ev(e) }(o), o }(g, n, this.componentDef.encapsulation, o) : Rl(g, _, function MN(e) { const t = e.toLowerCase(); return "svg" === t ? "svg" : "math" === t ? "math" : null }(_)), T = this.componentDef.signals ? 4608 : this.componentDef.onPush ? 576 : 528; let C = null; null !== y && (C = pf(y, o, !0)); const P = Af(0, null, null, 1, 0, null, null, null, null, null, null), O = nc(null, P, null, T, null, null, h, g, o, null, C); let V, J; pd(O); try { const ue = this.componentDef; let _e, lt = null; ue.findHostDirectiveDefs ? (_e = [], lt = new Map, ue.findHostDirectiveDefs(ue, _e, lt), _e.push(ue)) : _e = [ue]; const Dt = function AN(e, t) { const i = e[H], n = pe; return e[n] = t, js(i, n, 2, "#host", null) }(O, y), Bt = function ON(e, t, i, n, r, s, o) { const a = r[H]; !function xN(e, t, i, n) { for (const r of e) t.mergedAttrs = To(t.mergedAttrs, r.hostAttrs); null !== t.mergedAttrs && (rc(t, t.mergedAttrs, !0), null !== i && Tm(n, i, t)) }(n, e, t, o); let l = null; null !== t && (l = pf(t, r[tr])); const c = s.rendererFactory.createRenderer(t, i); let u = 16; i.signals ? u = 4096 : i.onPush && (u = 64); const h = nc(r, Cv(i), null, u, r[e.index], e, s, c, null, null, l); return a.firstCreatePass && xf(a, e, n.length - 1), ic(r, h), r[e.index] = h }(Dt, y, ue, _e, O, h, g); J = d_(P, pe), y && function PN(e, t, i, n) { if (n) Xu(e, i, ["ng-version", TI.full]); else { const { attrs: r, classes: s } = function mS(e) { const t = [], i = []; let n = 1, r = 2; for (; n < e.length;) { let s = e[n]; if ("string" == typeof s) 2 === r ? "" !== s && t.push(s, e[++n]) : 8 === r && i.push(s); else { if (!ti(r)) break; r = s } n++ } return { attrs: t, classes: i } }(t.selectors[0]); r && Xu(e, i, r), s && s.length > 0 && Sm(e, i, s.join(" ")) } }(g, ue, y, n), void 0 !== i && function FN(e, t, i) { const n = e.projection = []; for (let r = 0; r < t.length; r++) { const s = i[r]; n.push(null != s ? Array.from(s) : null) } }(J, this.ngContentSelectors, i), V = function RN(e, t, i, n, r, s) { const o = Ut(), a = r[H], l = yn(o, r); Mv(a, r, o, i, null, n); for (let u = 0; u < i.length; u++)Zt(Tr(r, a, o.directiveStart + u, o), r); Iv(a, r, o), l && Zt(l, r); const c = Tr(r, a, o.directiveStart + o.componentOffset, o); if (e[vt] = r[vt] = c, null !== s) for (const u of s) u(c, t); return Mf(a, o, e), c }(Bt, ue, _e, lt, O, [kN]), kf(P, O, null) } finally { gd() } return new NN(this.componentType, V, Vs(J, O), O, J) } } class NN extends yI { constructor(t, i, n, r, s) { super(), this.location = n, this._rootLView = r, this._tNode = s, this.previousInputValues = null, this.instance = i, this.hostView = this.changeDetectorRef = new TN(r), this.componentType = t } setInput(t, i) { const n = this._tNode.inputs; let r; if (null !== n && (r = n[t])) { if (this.previousInputValues ??= new Map, this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), i)) return; const s = this._rootLView; Ff(s[H], s, r, t, i), this.previousInputValues.set(t, i), Jo(On(this._tNode.index, s)) } } get injector() { return new un(this._tNode, this._rootLView) } destroy() { this.hostView.destroy() } onDestroy(t) { this.hostView.onDestroy(t) } } function kN() { const e = Ut(); ml(A()[H], e) } function Oe(e) { let t = function Gv(e) { return Object.getPrototypeOf(e.prototype).constructor }(e.type), i = !0; const n = [e]; for (; t;) { let r; if (ii(e)) r = t.\u0275cmp || t.\u0275dir; else { if (t.\u0275cmp) throw new F(903, !1); r = t.\u0275dir } if (r) { if (i) { n.push(r); const o = e; o.inputs = oc(e.inputs), o.inputTransforms = oc(e.inputTransforms), o.declaredInputs = oc(e.declaredInputs), o.outputs = oc(e.outputs); const a = r.hostBindings; a && HN(e, a); const l = r.viewQuery, c = r.contentQueries; if (l && BN(e, l), c && VN(e, c), Ka(e.inputs, r.inputs), Ka(e.declaredInputs, r.declaredInputs), Ka(e.outputs, r.outputs), null !== r.inputTransforms && (null === o.inputTransforms && (o.inputTransforms = {}), Ka(o.inputTransforms, r.inputTransforms)), ii(r) && r.data.animation) { const u = e.data; u.animation = (u.animation || []).concat(r.data.animation) } } const s = r.features; if (s) for (let o = 0; o < s.length; o++) { const a = s[o]; a && a.ngInherit && a(e), a === Oe && (i = !1) } } t = Object.getPrototypeOf(t) } !function LN(e) { let t = 0, i = null; for (let n = e.length - 1; n >= 0; n--) { const r = e[n]; r.hostVars = t += r.hostVars, r.hostAttrs = To(r.hostAttrs, i = To(i, r.hostAttrs)) } }(n) } function oc(e) { return e === Di ? {} : e === Ee ? [] : e } function BN(e, t) { const i = e.viewQuery; e.viewQuery = i ? (n, r) => { t(n, r), i(n, r) } : t } function VN(e, t) { const i = e.contentQueries; e.contentQueries = i ? (n, r, s) => { t(n, r, s), i(n, r, s) } : t } function HN(e, t) { const i = e.hostBindings; e.hostBindings = i ? (n, r) => { t(n, r), i(n, r) } : t } function ac(e) { return !!function Lf(e) { return null !== e && ("function" == typeof e || "object" == typeof e) }(e) && (Array.isArray(e) || !(e instanceof Map) && Symbol.iterator in e) } function Qt(e, t, i) { return !Object.is(e[t], i) && (e[t] = i, !0) } function Te(e, t, i, n) { const r = A(); return Qt(r, bs(), t) && (ve(), Ii(ot(), r, e, t, i, n)), Te } function Gs(e, t, i, n) { return Qt(e, bs(), i) ? t + te(i) + n : re } function B(e, t, i, n, r, s, o, a) { const l = A(), c = ve(), u = e + pe, h = c.firstCreatePass ? function dA(e, t, i, n, r, s, o, a, l) { const c = t.consts, u = js(t, e, 4, o || null, ir(c, a)); Of(t, i, u, ir(c, l)), ml(t, u); const h = u.tView = Af(2, u, n, r, s, t.directiveRegistry, t.pipeRegistry, null, t.schemas, c, null); return null !== t.queries && (t.queries.template(t, u), h.queries = t.queries.embeddedTView(u)), u }(u, c, l, t, i, n, r, s, o) : c.data[u]; Ti(h, !1); const g = oy(c, l, h, e); _l() && kl(c, l, g, h), Zt(g, l), ic(l, l[u] = Av(g, l, g, h)), dl(h) && If(c, l, h), null != o && Nf(l, h, a) } let oy = function ay(e, t, i, n) { return rr(!0), t[ne].createComment("") }; function x(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !1), x } function $f(e, t, i, n, r) { const o = r ? "class" : "style"; Ff(e, i, t.inputs[o], o, n) } function j(e, t, i, n) { const r = A(), s = ve(), o = pe + e, a = r[ne], l = s.firstCreatePass ? function gA(e, t, i, n, r, s) { const o = t.consts, l = js(t, e, 2, n, ir(o, r)); return Of(t, i, l, ir(o, s)), null !== l.attrs && rc(l, l.attrs, !1), null !== l.mergedAttrs && rc(l, l.mergedAttrs, !0), null !== t.queries && t.queries.elementStart(t, l), l }(o, s, r, t, i, n) : s.data[o], c = ly(s, r, l, a, t, e); r[o] = c; const u = dl(l); return Ti(l, !0), Tm(a, c, l), 32 != (32 & l.flags) && _l() && kl(s, r, c, l), 0 === function WS() { return K.lFrame.elementDepthCount }() && Zt(c, r), function qS() { K.lFrame.elementDepthCount++ }(), u && (If(s, r, l), Mf(s, l, r)), null !== n && Nf(r, l), j } function U() { let e = Ut(); cd() ? ud() : (e = e.parent, Ti(e, !1)); const t = e; (function ZS(e) { return K.skipHydrationRootTNode === e })(t) && function XS() { K.skipHydrationRootTNode = null }(), function YS() { K.lFrame.elementDepthCount-- }(); const i = ve(); return i.firstCreatePass && (ml(i, e), td(e) && i.queries.elementEnd(e)), null != t.classesWithoutHost && function pT(e) { return 0 != (8 & e.flags) }(t) && $f(i, t, A(), t.classesWithoutHost, !0), null != t.stylesWithoutHost && function gT(e) { return 0 != (16 & e.flags) }(t) && $f(i, t, A(), t.stylesWithoutHost, !1), U } function Be(e, t, i, n) { return j(e, t, i, n), U(), Be } let ly = (e, t, i, n, r, s) => (rr(!0), Rl(n, r, function I_() { return K.lFrame.currentNamespace }())); function Dn() { return A() } function fc(e) { return !!e && "function" == typeof e.then } function dy(e) { return !!e && "function" == typeof e.subscribe } function ce(e, t, i, n) { const r = A(), s = ve(), o = Ut(); return function hy(e, t, i, n, r, s, o) { const a = dl(n), c = e.firstCreatePass && Rv(e), u = t[vt], h = xv(t); let g = !0; if (3 & n.type || o) { const b = yn(n, t), D = o ? o(b) : b, T = h.length, C = o ? O => o(We(O[n.index])) : n.index; let P = null; if (!o && a && (P = function DA(e, t, i, n) { const r = e.cleanup; if (null != r) for (let s = 0; s < r.length - 1; s += 2) { const o = r[s]; if (o === i && r[s + 1] === n) { const a = t[hs], l = r[s + 2]; return a.length > l ? a[l] : null } "string" == typeof o && (s += 2) } return null }(e, t, r, n.index)), null !== P) (P.__ngLastListenerFn__ || P).__ngNextListenerFn__ = s, P.__ngLastListenerFn__ = s, g = !1; else { s = gy(n, t, u, s, !1); const O = i.listen(D, r, s); h.push(s, O), c && c.push(r, C, T, T + 1) } } else s = gy(n, t, u, s, !1); const _ = n.outputs; let y; if (g && null !== _ && (y = _[r])) { const b = y.length; if (b) for (let D = 0; D < b; D += 2) { const V = t[y[D]][y[D + 1]].subscribe(s), J = h.length; h.push(s, V), c && c.push(r, n.index, J, -(J + 1)) } } }(s, r, r[ne], o, e, t, n), ce } function py(e, t, i, n) { try { return Si(6, t, i), !1 !== i(n) } catch (r) { return Fv(e, r), !1 } finally { Si(7, t, i) } } function gy(e, t, i, n, r) { return function s(o) { if (o === Function) return n; Jo(e.componentOffset > -1 ? On(e.index, t) : t); let l = py(t, i, n, o), c = s.__ngNextListenerFn__; for (; c;)l = py(t, i, c, o) && l, c = c.__ngNextListenerFn__; return r && !1 === l && o.preventDefault(), l } } function z(e = 1) { return function sT(e) { return (K.lFrame.contextLView = function oT(e, t) { for (; e > 0;)t = t[gs], e--; return t }(e, K.lFrame.contextLView))[vt] }(e) } function wA(e, t) { let i = null; const n = function dS(e) { const t = e.attrs; if (null != t) { const i = t.indexOf(5); if (!(1 & i)) return t[i + 1] } return null }(e); for (let r = 0; r < t.length; r++) { const s = t[r]; if ("*" !== s) { if (null === n ? $g(e, s, !0) : pS(n, s)) return r } else i = r } return i } function Wf(e) { const t = A()[yt][Yt]; if (!t.projection) { const n = t.projection = Vo(e ? e.length : 1, null), r = n.slice(); let s = t.child; for (; null !== s;) { const o = e ? wA(s, e) : 0; null !== o && (r[o] ? r[o].projectionNext = s : n[o] = s, r[o] = s), s = s.next } } } function qf(e, t = 0, i) { const n = A(), r = ve(), s = js(r, pe + e, 16, null, i || null); null === s.projection && (s.projection = t), ud(), (!n[Hi] || ys()) && 32 != (32 & s.flags) && function EM(e, t, i) { Em(t[ne], 0, t, i, Vd(e, i, t), vm(i.parent || t[Yt], i, t)) }(r, n, s) } function Pn(e, t, i) { return hc(e, "", t, "", i), Pn } function hc(e, t, i, n, r) { const s = A(), o = Gs(s, t, i, n); return o !== re && Rn(ve(), ot(), s, e, o, s[ne], r, !1), hc } function pc(e, t) { return e << 17 | t << 2 } function ar(e) { return e >> 17 & 32767 } function Yf(e) { return 2 | e } function xr(e) { return (131068 & e) >> 2 } function Zf(e, t) { return -131069 & e | t << 2 } function Jf(e) { return 1 | e } function Ey(e, t, i, n, r) { const s = e[i + 1], o = null === t; let a = n ? ar(s) : xr(s), l = !1; for (; 0 !== a && (!1 === l || o);) { const u = e[a + 1]; IA(e[a], t) && (l = !0, e[a + 1] = n ? Jf(u) : Yf(u)), a = n ? ar(u) : xr(u) } l && (e[i + 1] = n ? Yf(s) : Jf(s)) } function IA(e, t) { return null === e || null == t || (Array.isArray(e) ? e[1] : e) === t || !(!Array.isArray(e) || "string" != typeof t) && Ns(e, t) >= 0 } const Ot = { textEnd: 0, key: 0, keyEnd: 0, value: 0, valueEnd: 0 }; function Sy(e) { return e.substring(Ot.key, Ot.keyEnd) } function Ty(e, t) { const i = Ot.textEnd; return i === t ? -1 : (t = Ot.keyEnd = function xA(e, t, i) { for (; t < i && e.charCodeAt(t) > 32;)t++; return t }(e, Ot.key = t, i), Ks(e, t, i)) } function Ks(e, t, i) { for (; t < i && e.charCodeAt(t) <= 32;)t++; return t } function De(e, t) { return function ri(e, t, i, n) { const r = A(), s = ve(), o = ji(2); s.firstUpdatePass && Ry(s, e, o, n), t !== re && Qt(r, o, t) && Fy(s, s.data[cn()], r, r[ne], e, r[o + 1] = function $A(e, t) { return null == e || "" === e || ("string" == typeof t ? e += t : "object" == typeof e && (e = Nt(or(e)))), e }(t, i), n, o) }(e, t, null, !0), De } function Rr(e) { !function si(e, t, i, n) { const r = ve(), s = ji(2); r.firstUpdatePass && Ry(r, null, s, n); const o = A(); if (i !== re && Qt(o, s, i)) { const a = r.data[cn()]; if (Ly(a, n) && !xy(r, s)) { let l = n ? a.classesWithoutHost : a.stylesWithoutHost; null !== l && (i = Vu(l, i || "")), $f(r, a, o, i, n) } else !function jA(e, t, i, n, r, s, o, a) { r === re && (r = Ee); let l = 0, c = 0, u = 0 < r.length ? r[0] : null, h = 0 < s.length ? s[0] : null; for (; null !== u || null !== h;) { const g = l < r.length ? r[l + 1] : void 0, _ = c < s.length ? s[c + 1] : void 0; let b, y = null; u === h ? (l += 2, c += 2, g !== _ && (y = h, b = _)) : null === h || null !== u && u < h ? (l += 2, y = u) : (c += 2, y = h, b = _), null !== y && Fy(e, t, i, n, y, b, o, a), u = l < r.length ? r[l] : null, h = c < s.length ? s[c] : null } }(r, a, o, o[ne], o[s + 1], o[s + 1] = function HA(e, t, i) { if (null == i || "" === i) return Ee; const n = [], r = or(i); if (Array.isArray(r)) for (let s = 0; s < r.length; s++)e(n, r[s], !0); else if ("object" == typeof r) for (const s in r) r.hasOwnProperty(s) && e(n, s, r[s]); else "string" == typeof r && t(n, r); return n }(e, t, i), n, s) } }(UA, xi, e, !0) } function xi(e, t) { for (let i = function AA(e) { return function Iy(e) { Ot.key = 0, Ot.keyEnd = 0, Ot.value = 0, Ot.valueEnd = 0, Ot.textEnd = e.length }(e), Ty(e, Ks(e, 0, Ot.textEnd)) }(t); i >= 0; i = Ty(t, i))xn(e, Sy(t), !0) } function xy(e, t) { return t >= e.expandoStartIndex } function Ry(e, t, i, n) { const r = e.data; if (null === r[i + 1]) { const s = r[cn()], o = xy(e, i); Ly(s, n) && null === t && !o && (t = !1), t = function kA(e, t, i, n) { const r = function fd(e) { const t = K.lFrame.currentDirectiveIndex; return -1 === t ? null : e[t] }(e); let s = n ? t.residualClasses : t.residualStyles; if (null === r) 0 === (n ? t.classBindings : t.styleBindings) && (i = oa(i = Qf(null, e, t, i, n), t.attrs, n), s = null); else { const o = t.directiveStylingLast; if (-1 === o || e[o] !== r) if (i = Qf(r, e, t, i, n), null === s) { let l = function LA(e, t, i) { const n = i ? t.classBindings : t.styleBindings; if (0 !== xr(n)) return e[ar(n)] }(e, t, n); void 0 !== l && Array.isArray(l) && (l = Qf(null, e, t, l[1], n), l = oa(l, t.attrs, n), function BA(e, t, i, n) { e[ar(i ? t.classBindings : t.styleBindings)] = n }(e, t, n, l)) } else s = function VA(e, t, i) { let n; const r = t.directiveEnd; for (let s = 1 + t.directiveStylingLast; s < r; s++)n = oa(n, e[s].hostAttrs, i); return oa(n, t.attrs, i) }(e, t, n) } return void 0 !== s && (n ? t.residualClasses = s : t.residualStyles = s), i }(r, s, t, n), function TA(e, t, i, n, r, s) { let o = s ? t.classBindings : t.styleBindings, a = ar(o), l = xr(o); e[n] = i; let u, c = !1; if (Array.isArray(i) ? (u = i[1], (null === u || Ns(i, u) > 0) && (c = !0)) : u = i, r) if (0 !== l) { const g = ar(e[a + 1]); e[n + 1] = pc(g, a), 0 !== g && (e[g + 1] = Zf(e[g + 1], n)), e[a + 1] = function EA(e, t) { return 131071 & e | t << 17 }(e[a + 1], n) } else e[n + 1] = pc(a, 0), 0 !== a && (e[a + 1] = Zf(e[a + 1], n)), a = n; else e[n + 1] = pc(l, 0), 0 === a ? a = n : e[l + 1] = Zf(e[l + 1], n), l = n; c && (e[n + 1] = Yf(e[n + 1])), Ey(e, u, n, !0), Ey(e, u, n, !1), function MA(e, t, i, n, r) { const s = r ? e.residualClasses : e.residualStyles; null != s && "string" == typeof t && Ns(s, t) >= 0 && (i[n + 1] = Jf(i[n + 1])) }(t, u, e, n, s), o = pc(a, l), s ? t.classBindings = o : t.styleBindings = o }(r, s, t, i, o, n) } } function Qf(e, t, i, n, r) { let s = null; const o = i.directiveEnd; let a = i.directiveStylingLast; for (-1 === a ? a = i.directiveStart : a++; a < o && (s = t[a], n = oa(n, s.hostAttrs, r), s !== e);)a++; return null !== e && (i.directiveStylingLast = a), n } function oa(e, t, i) { const n = i ? 1 : 2; let r = -1; if (null !== t) for (let s = 0; s < t.length; s++) { const o = t[s]; "number" == typeof o ? r = o : r === n && (Array.isArray(e) || (e = void 0 === e ? [] : ["", e]), xn(e, o, !!i || t[++s])) } return void 0 === e ? null : e } function UA(e, t, i) { const n = String(t); "" !== n && !n.includes(" ") && xn(e, n, i) } function Fy(e, t, i, n, r, s, o, a) { if (!(3 & t.type)) return; const l = e.data, c = l[a + 1], u = function SA(e) { return 1 == (1 & e) }(c) ? ky(l, t, i, r, xr(c), o) : void 0; gc(u) || (gc(s) || function CA(e) { return 2 == (2 & e) }(c) && (s = ky(l, null, i, r, a, o)), function TM(e, t, i, n, r) { if (t) r ? e.addClass(i, n) : e.removeClass(i, n); else { let s = -1 === n.indexOf("-") ? void 0 : sr.DashCase; null == r ? e.removeStyle(i, n, s) : ("string" == typeof r && r.endsWith("!important") && (r = r.slice(0, -10), s |= sr.Important), e.setStyle(i, n, r, s)) } }(n, o, gl(cn(), i), r, s)) } function ky(e, t, i, n, r, s) { const o = null === t; let a; for (; r > 0;) { const l = e[r], c = Array.isArray(l), u = c ? l[1] : l, h = null === u; let g = i[r + 1]; g === re && (g = h ? Ee : void 0); let _ = h ? Ed(g, n) : u === n ? g : void 0; if (c && !gc(_) && (_ = Ed(l, n)), gc(_) && (a = _, o)) return a; const y = e[r + 1]; r = o ? ar(y) : xr(y) } if (null !== t) { let l = s ? t.residualClasses : t.residualStyles; null != l && (a = Ed(l, n)) } return a } function gc(e) { return void 0 !== e } function Ly(e, t) { return 0 != (e.flags & (t ? 8 : 16)) } function qe(e, t = "") { const i = A(), n = ve(), r = e + pe, s = n.firstCreatePass ? js(n, r, 1, t, null) : n.data[r], o = By(n, i, s, t, e); i[r] = o, _l() && kl(n, i, o, s), Ti(s, !1) } let By = (e, t, i, n, r) => (rr(!0), function xl(e, t) { return e.createText(t) }(t[ne], n)); function jt(e) { return Ri("", e, ""), jt } function Ri(e, t, i) { const n = A(), r = Gs(n, e, t, i); return r !== re && function zi(e, t, i) { const n = gl(t, e); !function hm(e, t, i) { e.setValue(t, i) }(e[ne], n, i) }(n, cn(), r), Ri } function Yn(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !0), Yn } const eo = "en-US"; let o0 = eo; function eh(e, t, i, n, r) { if (e = X(e), Array.isArray(e)) for (let s = 0; s < e.length; s++)eh(e[s], t, i, n, r); else { const s = ve(), o = A(), a = Ut(); let l = Ir(e) ? e : X(e.provide); const c = zm(e), u = 1048575 & a.providerIndexes, h = a.directiveStart, g = a.providerIndexes >> 20; if (Ir(e) || !e.multi) { const _ = new Po(c, r, v), y = nh(l, t, r ? u : u + g, h); -1 === y ? (Dd(Dl(a, o), s, l), th(s, e, t.length), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(_), o.push(_)) : (i[y] = _, o[y] = _) } else { const _ = nh(l, t, u + g, h), y = nh(l, t, u, u + g), D = y >= 0 && i[y]; if (r && !D || !r && !(_ >= 0 && i[_])) { Dd(Dl(a, o), s, l); const T = function cx(e, t, i, n, r) { const s = new Po(e, i, v); return s.multi = [], s.index = t, s.componentProviders = 0, O0(s, r, n && !i), s }(r ? lx : ax, i.length, r, n, c); !r && D && (i[y].providerFactory = T), th(s, e, t.length, 0), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(T), o.push(T) } else th(s, e, _ > -1 ? _ : y, O0(i[r ? y : _], c, !r && n)); !r && n && D && i[y].componentProviders++ } } } function th(e, t, i, n) { const r = Ir(t), s = function nI(e) { return !!e.useClass }(t); if (r || s) { const l = (s ? X(t.useClass) : t).prototype.ngOnDestroy; if (l) { const c = e.destroyHooks || (e.destroyHooks = []); if (!r && t.multi) { const u = c.indexOf(i); -1 === u ? c.push(i, [n, l]) : c[u + 1].push(n, l) } else c.push(i, l) } } } function O0(e, t, i) { return i && e.componentProviders++, e.multi.push(t) - 1 } function nh(e, t, i, n) { for (let r = i; r < n; r++)if (t[r] === e) return r; return -1 } function ax(e, t, i, n) { return ih(this.multi, []) } function lx(e, t, i, n) { const r = this.multi; let s; if (this.providerFactory) { const o = this.providerFactory.componentProviders, a = Tr(i, i[H], this.providerFactory.index, n); s = a.slice(0, o), ih(r, s); for (let l = o; l < a.length; l++)s.push(a[l]) } else s = [], ih(r, s); return s } function ih(e, t) { for (let i = 0; i < e.length; i++)t.push((0, e[i])()); return t } function $e(e, t = []) { return i => { i.providersResolver = (n, r) => function ox(e, t, i) { const n = ve(); if (n.firstCreatePass) { const r = ii(e); eh(i, n.data, n.blueprint, r, !0), eh(t, n.data, n.blueprint, r, !1) } }(n, r ? r(e) : e, t) } } class Fr { } class ux { } class rh extends Fr { constructor(t, i, n) { super(), this._parent = i, this._bootstrapComponents = [], this.destroyCbs = [], this.componentFactoryResolver = new jv(this); const r = function An(e, t) { const i = e[Fg] || null; if (!i && !0 === t) throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`); return i }(t); this._bootstrapComponents = function Gi(e) { return e instanceof Function ? e() : e }(r.bootstrap), this._r3Injector = iv(t, i, [{ provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }, ...n], Nt(t), new Set(["environment"])), this._r3Injector.resolveInjectorInitializers(), this.instance = this._r3Injector.get(t) } get injector() { return this._r3Injector } destroy() { const t = this._r3Injector; !t.destroyed && t.destroy(), this.destroyCbs.forEach(i => i()), this.destroyCbs = null } onDestroy(t) { this.destroyCbs.push(t) } } class sh extends ux { constructor(t) { super(), this.moduleType = t } create(t) { return new rh(this.moduleType, t, []) } } class x0 extends Fr { constructor(t) { super(), this.componentFactoryResolver = new jv(this), this.instance = null; const i = new zl([...t.providers, { provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }], t.parent || Gl(), t.debugName, new Set(["environment"])); this.injector = i, t.runEnvironmentInitializers && i.resolveInjectorInitializers() } destroy() { this.injector.destroy() } onDestroy(t) { this.injector.onDestroy(t) } } let px = (() => { var e; class t { constructor(n) { this._injector = n, this.cachedInjectors = new Map } getOrCreateStandaloneInjector(n) { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { const r = Um(0, n.type), s = r.length > 0 ? function hx(e, t, i = null) { return new x0({ providers: e, parent: t, debugName: i, runEnvironmentInitializers: !0 }).injector }([r], this._injector, `Standalone[${n.type.name}]`) : null; this.cachedInjectors.set(n, s) } return this.cachedInjectors.get(n) } ngOnDestroy() { try { for (const n of this.cachedInjectors.values()) null !== n && n.destroy() } finally { this.cachedInjectors.clear() } } } return (e = t).\u0275prov = G({ token: e, providedIn: "environment", factory: () => new e(L(zn)) }), t })(); function Zn(e) { e.getStandaloneInjector = t => t.get(px).getOrCreateStandaloneInjector(e) } function Lx() { return this._results[Symbol.iterator]() } class lh { get changes() { return this._changes || (this._changes = new Y) } constructor(t = !1) { this._emitDistinctChangesOnly = t, this.dirty = !0, this._results = [], this._changesDetected = !1, this._changes = null, this.length = 0, this.first = void 0, this.last = void 0; const i = lh.prototype; i[Symbol.iterator] || (i[Symbol.iterator] = Lx) } get(t) { return this._results[t] } map(t) { return this._results.map(t) } filter(t) { return this._results.filter(t) } find(t) { return this._results.find(t) } reduce(t, i) { return this._results.reduce(t, i) } forEach(t) { this._results.forEach(t) } some(t) { return this._results.some(t) } toArray() { return this._results.slice() } toString() { return this._results.toString() } reset(t, i) { const n = this; n.dirty = !1; const r = function Gn(e) { return e.flat(Number.POSITIVE_INFINITY) }(t); (this._changesDetected = !function NT(e, t, i) { if (e.length !== t.length) return !1; for (let n = 0; n < e.length; n++) { let r = e[n], s = t[n]; if (i && (r = i(r), s = i(s)), s !== r) return !1 } return !0 }(n._results, r, i)) && (n._results = r, n.length = r.length, n.last = r[this.length - 1], n.first = r[0]) } notifyOnChanges() { this._changes && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.emit(this) } setDirty() { this.dirty = !0 } destroy() { this.changes.complete(), this.changes.unsubscribe() } } function Vx(e, t, i, n = !0) { const r = t[H]; if (function vM(e, t, i, n) { const r = Ht + n, s = i.length; n > 0 && (i[r - 1][ni] = t), n < s - Ht ? (t[ni] = i[r], $_(i, Ht + n, t)) : (i.push(t), t[ni] = null), t[tt] = i; const o = t[Ao]; null !== o && i !== o && function yM(e, t) { const i = e[ms]; t[yt] !== t[tt][tt][yt] && (e[Qg] = !0), null === i ? e[ms] = [t] : i.push(t) }(o, t); const a = t[wi]; null !== a && a.insertView(e), t[ie] |= 128 }(r, t, e, i), n) { const s = Ud(i, e), o = t[ne], a = Fl(o, e[Ci]); null !== a && function gM(e, t, i, n, r, s) { n[ht] = r, n[Yt] = t, Go(e, n, i, 1, r, s) }(r, e[Yt], o, t, a, s) } } let nt = (() => { class t { } return t.__NG_ELEMENT_ID__ = jx, t })(); const Hx = nt, Ux = class extends Hx { constructor(t, i, n) { super(), this._declarationLView = t, this._declarationTContainer = i, this.elementRef = n } get ssrId() { return this._declarationTContainer.tView?.ssrId || null } createEmbeddedView(t, i) { return this.createEmbeddedViewImpl(t, i) } createEmbeddedViewImpl(t, i, n) { const r = function Bx(e, t, i, n) { const r = t.tView, a = nc(e, r, i, 4096 & e[ie] ? 4096 : 16, null, t, null, null, null, n?.injector ?? null, n?.hydrationInfo ?? null); a[Ao] = e[t.index]; const c = e[wi]; return null !== c && (a[wi] = c.createEmbeddedView(r)), kf(r, a, i), a }(this._declarationLView, this._declarationTContainer, t, { injector: i, hydrationInfo: n }); return new Xo(r) } }; function jx() { return bc(Ut(), A()) } function bc(e, t) { return 4 & e.type ? new Ux(t, e, Vs(e, t)) : null } let Cn = (() => { class t { } return t.__NG_ELEMENT_ID__ = Yx, t })(); function Yx() { return J0(Ut(), A()) } const Zx = Cn, Y0 = class extends Zx { constructor(t, i, n) { super(), this._lContainer = t, this._hostTNode = i, this._hostLView = n } get element() { return Vs(this._hostTNode, this._hostLView) } get injector() { return new un(this._hostTNode, this._hostLView) } get parentInjector() { const t = wl(this._hostTNode, this._hostLView); if (vd(t)) { const i = ko(t, this._hostLView), n = Fo(t); return new un(i[H].data[n + 8], i) } return new un(null, this._hostLView) } clear() { for (; this.length > 0;)this.remove(this.length - 1) } get(t) { const i = Z0(this._lContainer); return null !== i && i[t] || null } get length() { return this._lContainer.length - Ht } createEmbeddedView(t, i, n) { let r, s; "number" == typeof n ? r = n : null != n && (r = n.index, s = n.injector); const a = t.createEmbeddedViewImpl(i || {}, s, null); return this.insertImpl(a, r, false), a } createComponent(t, i, n, r, s) { const o = t && !function Bo(e) { return "function" == typeof e }(t); let a; if (o) a = i; else { const b = i || {}; a = b.index, n = b.injector, r = b.projectableNodes, s = b.environmentInjector || b.ngModuleRef } const l = o ? t : new ea(me(t)), c = n || this.parentInjector; if (!s && null == l.ngModule) { const D = (o ? c : this.parentInjector).get(zn, null); D && (s = D) } me(l.componentType ?? {}); const _ = l.create(c, r, null, s); return this.insertImpl(_.hostView, a, false), _ } insert(t, i) { return this.insertImpl(t, i, !1) } insertImpl(t, i, n) { const r = t._lView; if (function $S(e) { return rn(e[tt]) }(r)) { const l = this.indexOf(t); if (-1 !== l) this.detach(l); else { const c = r[tt], u = new Y0(c, c[Yt], c[tt]); u.detach(u.indexOf(t)) } } const o = this._adjustIndex(i), a = this._lContainer; return Vx(a, r, o, !n), t.attachToViewContainerRef(), $_(ch(a), o, t), t } move(t, i) { return this.insert(t, i) } indexOf(t) { const i = Z0(this._lContainer); return null !== i ? i.indexOf(t) : -1 } remove(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); n && (El(ch(this._lContainer), i), Ld(n[H], n)) } detach(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); return n && null != El(ch(this._lContainer), i) ? new Xo(n) : null } _adjustIndex(t, i = 0) { return t ?? this.length + i } }; function Z0(e) { return e[8] } function ch(e) { return e[8] || (e[8] = []) } function J0(e, t) { let i; const n = t[e.index]; return rn(n) ? i = n : (i = Av(n, t, null, e), t[e.index] = i, ic(t, i)), Q0(i, t, e, n), new Y0(i, e, t) } let Q0 = function K0(e, t, i, n) { if (e[Ci]) return; let r; r = 8 & i.type ? We(n) : function Jx(e, t) { const i = e[ne], n = i.createComment(""), r = yn(t, e); return Mr(i, Fl(i, r), n, function CM(e, t) { return e.nextSibling(t) }(i, r), !1), n }(t, i), e[Ci] = r }; class uh { constructor(t) { this.queryList = t, this.matches = null } clone() { return new uh(this.queryList) } setDirty() { this.queryList.setDirty() } } class dh { constructor(t = []) { this.queries = t } createEmbeddedView(t) { const i = t.queries; if (null !== i) { const n = null !== t.contentQueries ? t.contentQueries[0] : i.length, r = []; for (let s = 0; s < n; s++) { const o = i.getByIndex(s); r.push(this.queries[o.indexInDeclarationView].clone()) } return new dh(r) } return null } insertView(t) { this.dirtyQueriesWithMatches(t) } detachView(t) { this.dirtyQueriesWithMatches(t) } dirtyQueriesWithMatches(t) { for (let i = 0; i < this.queries.length; i++)null !== i1(t, i).matches && this.queries[i].setDirty() } } class X0 { constructor(t, i, n = null) { this.predicate = t, this.flags = i, this.read = n } } class fh { constructor(t = []) { this.queries = t } elementStart(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].elementStart(t, i) } elementEnd(t) { for (let i = 0; i < this.queries.length; i++)this.queries[i].elementEnd(t) } embeddedTView(t) { let i = null; for (let n = 0; n < this.length; n++) { const r = null !== i ? i.length : 0, s = this.getByIndex(n).embeddedTView(t, r); s && (s.indexInDeclarationView = n, null !== i ? i.push(s) : i = [s]) } return null !== i ? new fh(i) : null } template(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].template(t, i) } getByIndex(t) { return this.queries[t] } get length() { return this.queries.length } track(t) { this.queries.push(t) } } class hh { constructor(t, i = -1) { this.metadata = t, this.matches = null, this.indexInDeclarationView = -1, this.crossesNgTemplate = !1, this._appliesToNextNode = !0, this._declarationNodeIndex = i } elementStart(t, i) { this.isApplyingToNode(i) && this.matchTNode(t, i) } elementEnd(t) { this._declarationNodeIndex === t.index && (this._appliesToNextNode = !1) } template(t, i) { this.elementStart(t, i) } embeddedTView(t, i) { return this.isApplyingToNode(t) ? (this.crossesNgTemplate = !0, this.addMatch(-t.index, i), new hh(this.metadata)) : null } isApplyingToNode(t) { if (this._appliesToNextNode && 1 != (1 & this.metadata.flags)) { const i = this._declarationNodeIndex; let n = t.parent; for (; null !== n && 8 & n.type && n.index !== i;)n = n.parent; return i === (null !== n ? n.index : -1) } return this._appliesToNextNode } matchTNode(t, i) { const n = this.metadata.predicate; if (Array.isArray(n)) for (let r = 0; r < n.length; r++) { const s = n[r]; this.matchTNodeWithReadOption(t, i, Xx(i, s)), this.matchTNodeWithReadOption(t, i, Cl(i, t, s, !1, !1)) } else n === nt ? 4 & i.type && this.matchTNodeWithReadOption(t, i, -1) : this.matchTNodeWithReadOption(t, i, Cl(i, t, n, !1, !1)) } matchTNodeWithReadOption(t, i, n) { if (null !== n) { const r = this.metadata.read; if (null !== r) if (r === Fe || r === Cn || r === nt && 4 & i.type) this.addMatch(i.index, -2); else { const s = Cl(i, t, r, !1, !1); null !== s && this.addMatch(i.index, s) } else this.addMatch(i.index, n) } } addMatch(t, i) { null === this.matches ? this.matches = [t, i] : this.matches.push(t, i) } } function Xx(e, t) { const i = e.localNames; if (null !== i) for (let n = 0; n < i.length; n += 2)if (i[n] === t) return i[n + 1]; return null } function tR(e, t, i, n) { return -1 === i ? function eR(e, t) { return 11 & e.type ? Vs(e, t) : 4 & e.type ? bc(e, t) : null }(t, e) : -2 === i ? function nR(e, t, i) { return i === Fe ? Vs(t, e) : i === nt ? bc(t, e) : i === Cn ? J0(t, e) : void 0 }(e, t, n) : Tr(e, e[H], i, t) } function e1(e, t, i, n) { const r = t[wi].queries[n]; if (null === r.matches) { const s = e.data, o = i.matches, a = []; for (let l = 0; l < o.length; l += 2) { const c = o[l]; a.push(c < 0 ? null : tR(t, s[c], o[l + 1], i.metadata.read)) } r.matches = a } return r.matches } function ph(e, t, i, n) { const r = e.queries.getByIndex(i), s = r.matches; if (null !== s) { const o = e1(e, t, r, i); for (let a = 0; a < s.length; a += 2) { const l = s[a]; if (l > 0) n.push(o[a / 2]); else { const c = s[a + 1], u = t[-l]; for (let h = Ht; h < u.length; h++) { const g = u[h]; g[Ao] === g[tt] && ph(g[H], g, c, n) } if (null !== u[ms]) { const h = u[ms]; for (let g = 0; g < h.length; g++) { const _ = h[g]; ph(_[H], _, c, n) } } } } } return n } function se(e) { const t = A(), i = ve(), n = w_(); hd(n + 1); const r = i1(i, n); if (e.dirty && function US(e) { return 4 == (4 & e[ie]) }(t) === (2 == (2 & r.metadata.flags))) { if (null === r.matches) e.reset([]); else { const s = r.crossesNgTemplate ? ph(i, t, n, []) : e1(i, t, r, n); e.reset(s, CI), e.notifyOnChanges() } return !0 } return !1 } function at(e, t, i) { const n = ve(); n.firstCreatePass && (n1(n, new X0(e, t, i), -1), 2 == (2 & t) && (n.staticViewQueries = !0)), t1(n, A(), t) } function pt(e, t, i, n) { const r = ve(); if (r.firstCreatePass) { const s = Ut(); n1(r, new X0(t, i, n), s.index), function rR(e, t) { const i = e.contentQueries || (e.contentQueries = []); t !== (i.length ? i[i.length - 1] : -1) && i.push(e.queries.length - 1, t) }(r, e), 2 == (2 & i) && (r.staticContentQueries = !0) } t1(r, A(), i) } function oe() { return function iR(e, t) { return e[wi].queries[t].queryList }(A(), w_()) } function t1(e, t, i) { const n = new lh(4 == (4 & i)); (function tN(e, t, i, n) { const r = xv(t); r.push(i), e.firstCreatePass && Rv(e).push(n, r.length - 1) })(e, t, n, n.destroy), null === t[wi] && (t[wi] = new dh), t[wi].queries.push(new uh(n)) } function n1(e, t, i) { null === e.queries && (e.queries = new fh), e.queries.track(new hh(t, i)) } function i1(e, t) { return e.queries.getByIndex(t) } function En(e, t) { return bc(e, t) } const D1 = new W("Application Initializer"); let yh = (() => { var e; class t { constructor() { this.initialized = !1, this.done = !1, this.donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r }), this.appInits = fe(D1, { optional: !0 }) ?? [] } runInitializers() { if (this.initialized) return; const n = []; for (const s of this.appInits) { const o = s(); if (fc(o)) n.push(o); else if (dy(o)) { const a = new Promise((l, c) => { o.subscribe({ complete: l, error: c }) }); n.push(a) } } const r = () => { this.done = !0, this.resolve() }; Promise.all(n).then(() => { r() }).catch(s => { this.reject(s) }), 0 === n.length && r(), this.initialized = !0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const oi = new W("LocaleId", { providedIn: "root", factory: () => fe(oi, ge.Optional | ge.SkipSelf) || function TR() { return typeof $localize < "u" && $localize.locale || eo }() }); let bh = (() => { var e; class t { constructor() { this.taskId = 0, this.pendingTasks = new Set, this.hasPendingTasks = new jE(!1) } add() { this.hasPendingTasks.next(!0); const n = this.taskId++; return this.pendingTasks.add(n), n } remove(n) { this.pendingTasks.delete(n), 0 === this.pendingTasks.size && this.hasPendingTasks.next(!1) } ngOnDestroy() { this.pendingTasks.clear(), this.hasPendingTasks.next(!1) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const S1 = new W(""), Ec = new W(""); let Sh, Ch = (() => { var e; class t { constructor(n, r, s) { this._ngZone = n, this.registry = r, this._pendingCount = 0, this._isZoneStable = !0, this._didWork = !1, this._callbacks = [], this.taskTrackingZone = null, Sh || (function ZR(e) { Sh = e }(s), s.addToWindow(r)), this._watchAngularEvents(), n.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: () => { Se.assertNotInAngularZone(), queueMicrotask(() => { 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()) queueMicrotask(() => { for (; 0 !== this._callbacks.length;) { let n = this._callbacks.pop(); clearTimeout(n.timeoutId), n.doneCb(this._didWork) } this._didWork = !1 }); else { let n = this.getPendingTasks(); this._callbacks = this._callbacks.filter(r => !r.updateCb || !r.updateCb(n) || (clearTimeout(r.timeoutId), !1)), this._didWork = !0 } } getPendingTasks() { return this.taskTrackingZone ? this.taskTrackingZone.macroTasks.map(n => ({ source: n.source, creationLocation: n.creationLocation, data: n.data })) : [] } addCallback(n, r, s) { let o = -1; r && r > 0 && (o = setTimeout(() => { this._callbacks = this._callbacks.filter(a => a.timeoutId !== o), n(this._didWork, this.getPendingTasks()) }, r)), this._callbacks.push({ doneCb: n, timeoutId: o, updateCb: s }) } whenStable(n, r, s) { if (s && !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(n, r, s), this._runCallbacksIfReady() } getPendingRequestCount() { return this._pendingCount } registerApplication(n) { this.registry.registerApplication(n, this) } unregisterApplication(n) { this.registry.unregisterApplication(n) } findProviders(n, r, s) { return [] } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Se), L(Eh), L(Ec)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(), Eh = (() => { var e; class t { constructor() { this._applications = new Map } registerApplication(n, r) { this._applications.set(n, r) } unregisterApplication(n) { this._applications.delete(n) } unregisterAllApplications() { this._applications.clear() } getTestability(n) { return this._applications.get(n) || null } getAllTestabilities() { return Array.from(this._applications.values()) } getAllRootElements() { return Array.from(this._applications.keys()) } findTestabilityInTree(n, r = !0) { return Sh?.findTestabilityInTree(this, n, r) ?? null } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(), lr = null; const T1 = new W("AllowMultipleToken"), Th = new W("PlatformDestroyListeners"), M1 = new W("appBootstrapListener"); function A1(e, t, i = []) { const n = `Platform: ${t}`, r = new W(n); return (s = []) => { let o = Mh(); if (!o || o.injector.get(T1, !1)) { const a = [...i, ...s, { provide: r, useValue: !0 }]; e ? e(a) : function KR(e) { if (lr && !lr.get(T1, !1)) throw new F(400, !1); (function I1() { !function xS(e) { i_ = e }(() => { throw new F(600, !1) }) })(), lr = e; const t = e.get(x1); (function N1(e) { e.get(Wm, null)?.forEach(i => i()) })(e) }(function O1(e = [], t) { return Jt.create({ name: t, providers: [{ provide: tf, useValue: "platform" }, { provide: Th, useValue: new Set([() => lr = null]) }, ...e] }) }(a, n)) } return function eP(e) { const t = Mh(); if (!t) throw new F(401, !1); return t }() } } function Mh() { return lr?.get(x1) ?? null } let x1 = (() => { var e; class t { constructor(n) { this._injector = n, this._modules = [], this._destroyListeners = [], this._destroyed = !1 } bootstrapModuleFactory(n, r) { const s = function tP(e = "zone.js", t) { return "noop" === e ? new BI : "zone.js" === e ? new Se(t) : e }(r?.ngZone, function R1(e) { return { enableLongStackTrace: !1, shouldCoalesceEventChangeDetection: e?.eventCoalescing ?? !1, shouldCoalesceRunChangeDetection: e?.runCoalescing ?? !1 } }({ eventCoalescing: r?.ngZoneEventCoalescing, runCoalescing: r?.ngZoneRunCoalescing })); return s.run(() => { const o = function fx(e, t, i) { return new rh(e, t, i) }(n.moduleType, this.injector, function B1(e) { return [{ provide: Se, useFactory: e }, { provide: Ul, multi: !0, useFactory: () => { const t = fe(iP, { optional: !0 }); return () => t.initialize() } }, { provide: L1, useFactory: nP }, { provide: av, useFactory: lv }] }(() => s)), a = o.injector.get(Ar, null); return s.runOutsideAngular(() => { const l = s.onError.subscribe({ next: c => { a.handleError(c) } }); o.onDestroy(() => { Sc(this._modules, o), l.unsubscribe() }) }), function P1(e, t, i) { try { const n = i(); return fc(n) ? n.catch(r => { throw t.runOutsideAngular(() => e.handleError(r)), r }) : n } catch (n) { throw t.runOutsideAngular(() => e.handleError(n)), n } }(a, s, () => { const l = o.injector.get(yh); return l.runInitializers(), l.donePromise.then(() => (function a0(e) { $n(e, "Expected localeId to be defined"), "string" == typeof e && (o0 = e.toLowerCase().replace(/_/g, "-")) }(o.injector.get(oi, eo) || eo), this._moduleDoBootstrap(o), o)) }) }) } bootstrapModule(n, r = []) { const s = F1({}, r); return function JR(e, t, i) { const n = new sh(i); return Promise.resolve(n) }(0, 0, n).then(o => this.bootstrapModuleFactory(o, s)) } _moduleDoBootstrap(n) { const r = n.injector.get(kr); if (n._bootstrapComponents.length > 0) n._bootstrapComponents.forEach(s => r.bootstrap(s)); else { if (!n.instance.ngDoBootstrap) throw new F(-403, !1); n.instance.ngDoBootstrap(r) } this._modules.push(n) } onDestroy(n) { this._destroyListeners.push(n) } get injector() { return this._injector } destroy() { if (this._destroyed) throw new F(404, !1); this._modules.slice().forEach(r => r.destroy()), this._destroyListeners.forEach(r => r()); const n = this._injector.get(Th, null); n && (n.forEach(r => r()), n.clear()), this._destroyed = !0 } get destroyed() { return this._destroyed } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(); function F1(e, t) { return Array.isArray(t) ? t.reduce(F1, e) : { ...e, ...t } } let kr = (() => { var e; class t { constructor() { this._bootstrapListeners = [], this._runningTick = !1, this._destroyed = !1, this._destroyListeners = [], this._views = [], this.internalErrorHandler = fe(L1), this.zoneIsStable = fe(av), this.componentTypes = [], this.components = [], this.isStable = fe(bh).hasPendingTasks.pipe(Bu(n => n ? ds(!1) : this.zoneIsStable), function Tg(e, t = yi) { return e = e ?? $E, mt((i, n) => { let r, s = !0; i.subscribe(ft(n, o => { const a = t(o); (s || !e(r, a)) && (s = !1, r = a, n.next(o)) })) }) }(), Sg()), this._injector = fe(zn) } get destroyed() { return this._destroyed } get injector() { return this._injector } bootstrap(n, r) { const s = n instanceof Qm; if (!this._injector.get(yh).done) throw !s && function Mo(e) { const t = me(e) || Vt(e) || nn(e); return null !== t && t.standalone }(n), new F(405, !1); let a; a = s ? n : this._injector.get(Kl).resolveComponentFactory(n), this.componentTypes.push(a.componentType); const l = function QR(e) { return e.isBoundToModule }(a) ? void 0 : this._injector.get(Fr), u = a.create(Jt.NULL, [], r || a.selector, l), h = u.location.nativeElement, g = u.injector.get(S1, null); return g?.registerApplication(h), u.onDestroy(() => { this.detachView(u.hostView), Sc(this.components, u), g?.unregisterApplication(h) }), this._loadComponent(u), u } tick() { if (this._runningTick) throw new F(101, !1); try { this._runningTick = !0; for (let n of this._views) n.detectChanges() } catch (n) { this.internalErrorHandler(n) } finally { this._runningTick = !1 } } attachView(n) { const r = n; this._views.push(r), r.attachToAppRef(this) } detachView(n) { const r = n; Sc(this._views, r), r.detachFromAppRef() } _loadComponent(n) { this.attachView(n.hostView), this.tick(), this.components.push(n); const r = this._injector.get(M1, []); r.push(...this._bootstrapListeners), r.forEach(s => s(n)) } ngOnDestroy() { if (!this._destroyed) try { this._destroyListeners.forEach(n => n()), this._views.slice().forEach(n => n.destroy()) } finally { this._destroyed = !0, this._views = [], this._bootstrapListeners = [], this._destroyListeners = [] } } onDestroy(n) { return this._destroyListeners.push(n), () => Sc(this._destroyListeners, n) } destroy() { if (this._destroyed) throw new F(406, !1); const n = this._injector; n.destroy && !n.destroyed && n.destroy() } get viewCount() { return this._views.length } warnIfDestroyed() { } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function Sc(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } const L1 = new W("", { providedIn: "root", factory: () => fe(Ar).handleError.bind(void 0) }); function nP() { const e = fe(Se), t = fe(Ar); return i => e.runOutsideAngular(() => t.handleError(i)) } let iP = (() => { var e; class t { constructor() { this.zone = fe(Se), this.applicationRef = fe(kr) } initialize() { this._onMicrotaskEmptySubscription || (this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({ next: () => { this.zone.run(() => { this.applicationRef.tick() }) } })) } ngOnDestroy() { this._onMicrotaskEmptySubscription?.unsubscribe() } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); let gt = (() => { class t { } return t.__NG_ELEMENT_ID__ = sP, t })(); function sP(e) { return function oP(e, t, i) { if (Cr(e) && !i) { const n = On(e.index, t); return new Xo(n, n) } return 47 & e.type ? new Xo(t[yt], t) : null }(Ut(), A(), 16 == (16 & e)) } class j1 { constructor() { } supports(t) { return ac(t) } create(t) { return new fP(t) } } const dP = (e, t) => t; class fP { constructor(t) { 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 = t || dP } forEachItem(t) { let i; for (i = this._itHead; null !== i; i = i._next)t(i) } forEachOperation(t) { let i = this._itHead, n = this._removalsHead, r = 0, s = null; for (; i || n;) { const o = !n || i && i.currentIndex < G1(n, r, s) ? i : n, a = G1(o, r, s), l = o.currentIndex; if (o === n) r--, n = n._nextRemoved; else if (i = i._next, null == o.previousIndex) r++; else { s || (s = []); const c = a - r, u = l - r; if (c != u) { for (let g = 0; g < c; g++) { const _ = g < s.length ? s[g] : s[g] = 0, y = _ + g; u <= y && y < c && (s[g] = _ + 1) } s[o.previousIndex] = u - c } } a !== l && t(o, a, l) } } forEachPreviousItem(t) { let i; for (i = this._previousItHead; null !== i; i = i._nextPrevious)t(i) } forEachAddedItem(t) { let i; for (i = this._additionsHead; null !== i; i = i._nextAdded)t(i) } forEachMovedItem(t) { let i; for (i = this._movesHead; null !== i; i = i._nextMoved)t(i) } forEachRemovedItem(t) { let i; for (i = this._removalsHead; null !== i; i = i._nextRemoved)t(i) } forEachIdentityChange(t) { let i; for (i = this._identityChangesHead; null !== i; i = i._nextIdentityChange)t(i) } diff(t) { if (null == t && (t = []), !ac(t)) throw new F(900, !1); return this.check(t) ? this : null } onDestroy() { } check(t) { this._reset(); let r, s, o, i = this._itHead, n = !1; if (Array.isArray(t)) { this.length = t.length; for (let a = 0; a < this.length; a++)s = t[a], o = this._trackByFn(a, s), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, s, o, a)), Object.is(i.item, s) || this._addIdentityChange(i, s)) : (i = this._mismatch(i, s, o, a), n = !0), i = i._next } else r = 0, function qN(e, t) { if (Array.isArray(e)) for (let i = 0; i < e.length; i++)t(e[i]); else { const i = e[Symbol.iterator](); let n; for (; !(n = i.next()).done;)t(n.value) } }(t, a => { o = this._trackByFn(r, a), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, a, o, r)), Object.is(i.item, a) || this._addIdentityChange(i, a)) : (i = this._mismatch(i, a, o, r), n = !0), i = i._next, r++ }), this.length = r; return this._truncate(i), this.collection = t, this.isDirty } get isDirty() { return null !== this._additionsHead || null !== this._movesHead || null !== this._removalsHead || null !== this._identityChangesHead } _reset() { if (this.isDirty) { let t; for (t = this._previousItHead = this._itHead; null !== t; t = t._next)t._nextPrevious = t._next; for (t = this._additionsHead; null !== t; t = t._nextAdded)t.previousIndex = t.currentIndex; for (this._additionsHead = this._additionsTail = null, t = this._movesHead; null !== t; t = t._nextMoved)t.previousIndex = t.currentIndex; this._movesHead = this._movesTail = null, this._removalsHead = this._removalsTail = null, this._identityChangesHead = this._identityChangesTail = null } } _mismatch(t, i, n, r) { let s; return null === t ? s = this._itTail : (s = t._prev, this._remove(t)), null !== (t = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._reinsertAfter(t, s, r)) : null !== (t = null === this._linkedRecords ? null : this._linkedRecords.get(n, r)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._moveAfter(t, s, r)) : t = this._addAfter(new hP(i, n), s, r), t } _verifyReinsertion(t, i, n, r) { let s = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null); return null !== s ? t = this._reinsertAfter(s, t._prev, r) : t.currentIndex != r && (t.currentIndex = r, this._addToMoves(t, r)), t } _truncate(t) { for (; null !== t;) { const i = t._next; this._addToRemovals(this._unlink(t)), t = i } 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(t, i, n) { null !== this._unlinkedRecords && this._unlinkedRecords.remove(t); const r = t._prevRemoved, s = t._nextRemoved; return null === r ? this._removalsHead = s : r._nextRemoved = s, null === s ? this._removalsTail = r : s._prevRemoved = r, this._insertAfter(t, i, n), this._addToMoves(t, n), t } _moveAfter(t, i, n) { return this._unlink(t), this._insertAfter(t, i, n), this._addToMoves(t, n), t } _addAfter(t, i, n) { return this._insertAfter(t, i, n), this._additionsTail = null === this._additionsTail ? this._additionsHead = t : this._additionsTail._nextAdded = t, t } _insertAfter(t, i, n) { const r = null === i ? this._itHead : i._next; return t._next = r, t._prev = i, null === r ? this._itTail = t : r._prev = t, null === i ? this._itHead = t : i._next = t, null === this._linkedRecords && (this._linkedRecords = new $1), this._linkedRecords.put(t), t.currentIndex = n, t } _remove(t) { return this._addToRemovals(this._unlink(t)) } _unlink(t) { null !== this._linkedRecords && this._linkedRecords.remove(t); const i = t._prev, n = t._next; return null === i ? this._itHead = n : i._next = n, null === n ? this._itTail = i : n._prev = i, t } _addToMoves(t, i) { return t.previousIndex === i || (this._movesTail = null === this._movesTail ? this._movesHead = t : this._movesTail._nextMoved = t), t } _addToRemovals(t) { return null === this._unlinkedRecords && (this._unlinkedRecords = new $1), this._unlinkedRecords.put(t), t.currentIndex = null, t._nextRemoved = null, null === this._removalsTail ? (this._removalsTail = this._removalsHead = t, t._prevRemoved = null) : (t._prevRemoved = this._removalsTail, this._removalsTail = this._removalsTail._nextRemoved = t), t } _addIdentityChange(t, i) { return t.item = i, this._identityChangesTail = null === this._identityChangesTail ? this._identityChangesHead = t : this._identityChangesTail._nextIdentityChange = t, t } } class hP { constructor(t, i) { this.item = t, this.trackById = i, 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 pP { constructor() { this._head = null, this._tail = null } add(t) { null === this._head ? (this._head = this._tail = t, t._nextDup = null, t._prevDup = null) : (this._tail._nextDup = t, t._prevDup = this._tail, t._nextDup = null, this._tail = t) } get(t, i) { let n; for (n = this._head; null !== n; n = n._nextDup)if ((null === i || i <= n.currentIndex) && Object.is(n.trackById, t)) return n; return null } remove(t) { const i = t._prevDup, n = t._nextDup; return null === i ? this._head = n : i._nextDup = n, null === n ? this._tail = i : n._prevDup = i, null === this._head } } class $1 { constructor() { this.map = new Map } put(t) { const i = t.trackById; let n = this.map.get(i); n || (n = new pP, this.map.set(i, n)), n.add(t) } get(t, i) { const r = this.map.get(t); return r ? r.get(t, i) : null } remove(t) { const i = t.trackById; return this.map.get(i).remove(t) && this.map.delete(i), t } get isEmpty() { return 0 === this.map.size } clear() { this.map.clear() } } function G1(e, t, i) { const n = e.previousIndex; if (null === n) return n; let r = 0; return i && n < i.length && (r = i[n]), n + t + r } function W1() { return new Ic([new j1]) } let Ic = (() => { var e; class t { constructor(n) { this.factories = n } static create(n, r) { if (null != r) { const s = r.factories.slice(); n = n.concat(s) } return new t(n) } static extend(n) { return { provide: t, useFactory: r => t.create(n, r || W1()), deps: [[t, new Md, new Td]] } } find(n) { const r = this.factories.find(s => s.supports(n)); if (null != r) return r; throw new F(901, !1) } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: W1 }), t })(); const yP = A1(null, "core", []); let bP = (() => { var e; class t { constructor(n) { } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Ph(e, t) { const i = me(e), n = t.elementInjector || Gl(); return new ea(i).create(n, t.projectableNodes, t.hostElement, t.environmentInjector) } let Fh = null; function ba() { return Fh } class RP { } const Kt = new W("DocumentToken"); function fb(e, t) { t = encodeURIComponent(t); for (const i of e.split(";")) { const n = i.indexOf("="), [r, s] = -1 == n ? [i, ""] : [i.slice(0, n), i.slice(n + 1)]; if (r.trim() === t) return decodeURIComponent(s) } return null } class vF { constructor(t, i, n, r) { this.$implicit = t, this.ngForOf = i, this.index = n, this.count = r } 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 kn = (() => { var e; class t { set ngForOf(n) { this._ngForOf = n, this._ngForOfDirty = !0 } set ngForTrackBy(n) { this._trackByFn = n } get ngForTrackBy() { return this._trackByFn } constructor(n, r, s) { this._viewContainer = n, this._template = r, this._differs = s, this._ngForOf = null, this._ngForOfDirty = !0, this._differ = null } set ngForTemplate(n) { n && (this._template = n) } ngDoCheck() { if (this._ngForOfDirty) { this._ngForOfDirty = !1; const n = this._ngForOf; !this._differ && n && (this._differ = this._differs.find(n).create(this.ngForTrackBy)) } if (this._differ) { const n = this._differ.diff(this._ngForOf); n && this._applyChanges(n) } } _applyChanges(n) { const r = this._viewContainer; n.forEachOperation((s, o, a) => { if (null == s.previousIndex) r.createEmbeddedView(this._template, new vF(s.item, this._ngForOf, -1, -1), null === a ? void 0 : a); else if (null == a) r.remove(null === o ? void 0 : o); else if (null !== o) { const l = r.get(o); r.move(l, a), gb(l, s) } }); for (let s = 0, o = r.length; s < o; s++) { const l = r.get(s).context; l.index = s, l.count = o, l.ngForOf = this._ngForOf } n.forEachIdentityChange(s => { gb(r.get(s.currentIndex), s) }) } static ngTemplateContextGuard(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt), v(Ic)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngFor", "", "ngForOf", ""]], inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, standalone: !0 }), t })(); function gb(e, t) { e.context.$implicit = t.item } let Ln = (() => { var e; class t { constructor(n, r) { this._viewContainer = n, this._context = new yF, this._thenTemplateRef = null, this._elseTemplateRef = null, this._thenViewRef = null, this._elseViewRef = null, this._thenTemplateRef = r } set ngIf(n) { this._context.$implicit = this._context.ngIf = n, this._updateView() } set ngIfThen(n) { _b("ngIfThen", n), this._thenTemplateRef = n, this._thenViewRef = null, this._updateView() } set ngIfElse(n) { _b("ngIfElse", n), this._elseTemplateRef = n, 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(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngIf", ""]], inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, standalone: !0 }), t })(); class yF { constructor() { this.$implicit = null, this.ngIf = null } } function _b(e, t) { if (t && !t.createEmbeddedView) throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`) } let yb = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Db(e) { return "server" === e } class wb { } class vk extends RP { constructor() { super(...arguments), this.supportsDOMEvents = !0 } } class Xh extends vk { static makeCurrent() { !function xP(e) { Fh || (Fh = e) }(new Xh) } onAndCancel(t, i, n) { return t.addEventListener(i, n), () => { t.removeEventListener(i, n) } } dispatchEvent(t, i) { t.dispatchEvent(i) } remove(t) { t.parentNode && t.parentNode.removeChild(t) } createElement(t, i) { return (i = i || this.getDefaultDocument()).createElement(t) } createHtmlDocument() { return document.implementation.createHTMLDocument("fakeTitle") } getDefaultDocument() { return document } isElementNode(t) { return t.nodeType === Node.ELEMENT_NODE } isShadowRoot(t) { return t instanceof DocumentFragment } getGlobalEventTarget(t, i) { return "window" === i ? window : "document" === i ? t : "body" === i ? t.body : null } getBaseHref(t) { const i = function yk() { return Ea = Ea || document.querySelector("base"), Ea ? Ea.getAttribute("href") : null }(); return null == i ? null : function bk(e) { jc = jc || document.createElement("a"), jc.setAttribute("href", e); const t = jc.pathname; return "/" === t.charAt(0) ? t : `/${t}` }(i) } resetBaseElement() { Ea = null } getUserAgent() { return window.navigator.userAgent } getCookie(t) { return fb(document.cookie, t) } } let jc, Ea = null, wk = (() => { var e; class t { build() { return new XMLHttpRequest } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const ep = new W("EventManagerPlugins"); let Mb = (() => { var e; class t { constructor(n, r) { this._zone = r, this._eventNameToPlugin = new Map, n.forEach(s => { s.manager = this }), this._plugins = n.slice().reverse() } addEventListener(n, r, s) { return this._findPluginFor(r).addEventListener(n, r, s) } getZone() { return this._zone } _findPluginFor(n) { let r = this._eventNameToPlugin.get(n); if (r) return r; if (r = this._plugins.find(o => o.supports(n)), !r) throw new F(5101, !1); return this._eventNameToPlugin.set(n, r), r } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(ep), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class Ib { constructor(t) { this._doc = t } } const tp = "ng-app-id"; let Nb = (() => { var e; class t { constructor(n, r, s, o = {}) { this.doc = n, this.appId = r, this.nonce = s, this.platformId = o, this.styleRef = new Map, this.hostNodes = new Set, this.styleNodesInDOM = this.collectServerRenderedStyles(), this.platformIsServer = Db(o), this.resetHostNodes() } addStyles(n) { for (const r of n) 1 === this.changeUsageCount(r, 1) && this.onStyleAdded(r) } removeStyles(n) { for (const r of n) this.changeUsageCount(r, -1) <= 0 && this.onStyleRemoved(r) } ngOnDestroy() { const n = this.styleNodesInDOM; n && (n.forEach(r => r.remove()), n.clear()); for (const r of this.getAllStyles()) this.onStyleRemoved(r); this.resetHostNodes() } addHost(n) { this.hostNodes.add(n); for (const r of this.getAllStyles()) this.addStyleToHost(n, r) } removeHost(n) { this.hostNodes.delete(n) } getAllStyles() { return this.styleRef.keys() } onStyleAdded(n) { for (const r of this.hostNodes) this.addStyleToHost(r, n) } onStyleRemoved(n) { const r = this.styleRef; r.get(n)?.elements?.forEach(s => s.remove()), r.delete(n) } collectServerRenderedStyles() { const n = this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`); if (n?.length) { const r = new Map; return n.forEach(s => { null != s.textContent && r.set(s.textContent, s) }), r } return null } changeUsageCount(n, r) { const s = this.styleRef; if (s.has(n)) { const o = s.get(n); return o.usage += r, o.usage } return s.set(n, { usage: r, elements: [] }), r } getStyleElement(n, r) { const s = this.styleNodesInDOM, o = s?.get(r); if (o?.parentNode === n) return s.delete(r), o.removeAttribute(tp), o; { const a = this.doc.createElement("style"); return this.nonce && a.setAttribute("nonce", this.nonce), a.textContent = r, this.platformIsServer && a.setAttribute(tp, this.appId), a } } addStyleToHost(n, r) { const s = this.getStyleElement(n, r); n.appendChild(s); const o = this.styleRef, a = o.get(r)?.elements; a ? a.push(s) : o.set(r, { elements: [s], usage: 1 }) } resetHostNodes() { const n = this.hostNodes; n.clear(), n.add(this.doc.head) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Wl), L(qm, 8), L(Nr)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const np = { 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/" }, ip = /%COMP%/g, Tk = new W("RemoveStylesOnCompDestroy", { providedIn: "root", factory: () => !1 }); function Ob(e, t) { return t.map(i => i.replace(ip, e)) } let xb = (() => { var e; class t { constructor(n, r, s, o, a, l, c, u = null) { this.eventManager = n, this.sharedStylesHost = r, this.appId = s, this.removeStylesOnCompDestroy = o, this.doc = a, this.platformId = l, this.ngZone = c, this.nonce = u, this.rendererByCompId = new Map, this.platformIsServer = Db(l), this.defaultRenderer = new rp(n, a, c, this.platformIsServer) } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; this.platformIsServer && r.encapsulation === ei.ShadowDom && (r = { ...r, encapsulation: ei.Emulated }); const s = this.getOrCreateRenderer(n, r); return s instanceof Pb ? s.applyToHost(n) : s instanceof sp && s.applyStyles(), s } getOrCreateRenderer(n, r) { const s = this.rendererByCompId; let o = s.get(r.id); if (!o) { const a = this.doc, l = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, h = this.removeStylesOnCompDestroy, g = this.platformIsServer; switch (r.encapsulation) { case ei.Emulated: o = new Pb(c, u, r, this.appId, h, a, l, g); break; case ei.ShadowDom: return new Ak(c, u, n, r, a, l, this.nonce, g); default: o = new sp(c, u, r, h, a, l, g) }s.set(r.id, o) } return o } ngOnDestroy() { this.rendererByCompId.clear() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Mb), L(Nb), L(Wl), L(Tk), L(Kt), L(Nr), L(Se), L(qm)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class rp { constructor(t, i, n, r) { this.eventManager = t, this.doc = i, this.ngZone = n, this.platformIsServer = r, this.data = Object.create(null), this.destroyNode = null } destroy() { } createElement(t, i) { return i ? this.doc.createElementNS(np[i] || i, t) : this.doc.createElement(t) } createComment(t) { return this.doc.createComment(t) } createText(t) { return this.doc.createTextNode(t) } appendChild(t, i) { (Rb(t) ? t.content : t).appendChild(i) } insertBefore(t, i, n) { t && (Rb(t) ? t.content : t).insertBefore(i, n) } removeChild(t, i) { t && t.removeChild(i) } selectRootElement(t, i) { let n = "string" == typeof t ? this.doc.querySelector(t) : t; if (!n) throw new F(-5104, !1); return i || (n.textContent = ""), n } parentNode(t) { return t.parentNode } nextSibling(t) { return t.nextSibling } setAttribute(t, i, n, r) { if (r) { i = r + ":" + i; const s = np[r]; s ? t.setAttributeNS(s, i, n) : t.setAttribute(i, n) } else t.setAttribute(i, n) } removeAttribute(t, i, n) { if (n) { const r = np[n]; r ? t.removeAttributeNS(r, i) : t.removeAttribute(`${n}:${i}`) } else t.removeAttribute(i) } addClass(t, i) { t.classList.add(i) } removeClass(t, i) { t.classList.remove(i) } setStyle(t, i, n, r) { r & (sr.DashCase | sr.Important) ? t.style.setProperty(i, n, r & sr.Important ? "important" : "") : t.style[i] = n } removeStyle(t, i, n) { n & sr.DashCase ? t.style.removeProperty(i) : t.style[i] = "" } setProperty(t, i, n) { t[i] = n } setValue(t, i) { t.nodeValue = i } listen(t, i, n) { if ("string" == typeof t && !(t = ba().getGlobalEventTarget(this.doc, t))) throw new Error(`Unsupported event target ${t} for event ${i}`); return this.eventManager.addEventListener(t, i, this.decoratePreventDefault(n)) } decoratePreventDefault(t) { return i => { if ("__ngUnwrap__" === i) return t; !1 === (this.platformIsServer ? this.ngZone.runGuarded(() => t(i)) : t(i)) && i.preventDefault() } } } function Rb(e) { return "TEMPLATE" === e.tagName && void 0 !== e.content } class Ak extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, l), this.sharedStylesHost = i, this.hostEl = n, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost.addHost(this.shadowRoot); const c = Ob(r.id, r.styles); for (const u of c) { const h = document.createElement("style"); a && h.setAttribute("nonce", a), h.textContent = u, this.shadowRoot.appendChild(h) } } nodeOrShadowRoot(t) { return t === this.hostEl ? this.shadowRoot : t } appendChild(t, i) { return super.appendChild(this.nodeOrShadowRoot(t), i) } insertBefore(t, i, n) { return super.insertBefore(this.nodeOrShadowRoot(t), i, n) } removeChild(t, i) { return super.removeChild(this.nodeOrShadowRoot(t), i) } parentNode(t) { return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t))) } destroy() { this.sharedStylesHost.removeHost(this.shadowRoot) } } class sp extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, a), this.sharedStylesHost = i, this.removeStylesOnCompDestroy = r, this.styles = l ? Ob(l, n.styles) : n.styles } applyStyles() { this.sharedStylesHost.addStyles(this.styles) } destroy() { this.removeStylesOnCompDestroy && this.sharedStylesHost.removeStyles(this.styles) } } class Pb extends sp { constructor(t, i, n, r, s, o, a, l) { const c = r + "-" + n.id; super(t, i, n, s, o, a, l, c), this.contentAttr = function Mk(e) { return "_ngcontent-%COMP%".replace(ip, e) }(c), this.hostAttr = function Ik(e) { return "_nghost-%COMP%".replace(ip, e) }(c) } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, "") } createElement(t, i) { const n = super.createElement(t, i); return super.setAttribute(n, this.contentAttr, ""), n } } let Ok = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return !0 } addEventListener(n, r, s) { return n.addEventListener(r, s, !1), () => this.removeEventListener(n, r, s) } removeEventListener(n, r, s) { return n.removeEventListener(r, s) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Fb = ["alt", "control", "meta", "shift"], xk = { "\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" }, Rk = { alt: e => e.altKey, control: e => e.ctrlKey, meta: e => e.metaKey, shift: e => e.shiftKey }; let Pk = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return null != t.parseEventName(n) } addEventListener(n, r, s) { const o = t.parseEventName(r), a = t.eventCallback(o.fullKey, s, this.manager.getZone()); return this.manager.getZone().runOutsideAngular(() => ba().onAndCancel(n, o.domEventName, a)) } static parseEventName(n) { const r = n.toLowerCase().split("."), s = r.shift(); if (0 === r.length || "keydown" !== s && "keyup" !== s) return null; const o = t._normalizeKey(r.pop()); let a = "", l = r.indexOf("code"); if (l > -1 && (r.splice(l, 1), a = "code."), Fb.forEach(u => { const h = r.indexOf(u); h > -1 && (r.splice(h, 1), a += u + ".") }), a += o, 0 != r.length || 0 === o.length) return null; const c = {}; return c.domEventName = s, c.fullKey = a, c } static matchEventFullKeyCode(n, r) { let s = xk[n.key] || n.key, o = ""; return r.indexOf("code.") > -1 && (s = n.code, o = "code."), !(null == s || !s) && (s = s.toLowerCase(), " " === s ? s = "space" : "." === s && (s = "dot"), Fb.forEach(a => { a !== s && (0, Rk[a])(n) && (o += a + ".") }), o += s, o === r) } static eventCallback(n, r, s) { return o => { t.matchEventFullKeyCode(o, n) && s.runGuarded(() => r(o)) } } static _normalizeKey(n) { return "esc" === n ? "escape" : n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Bk = A1(yP, "browser", [{ provide: Nr, useValue: "browser" }, { provide: Wm, useValue: function Fk() { Xh.makeCurrent() }, multi: !0 }, { provide: Kt, useFactory: function Lk() { return function OM(e) { Gd = e }(document), document }, deps: [] }]), Vk = new W(""), Bb = [{ provide: Ec, useClass: class Dk { addToWindow(t) { je.getAngularTestability = (n, r = !0) => { const s = t.findTestabilityInTree(n, r); if (null == s) throw new F(5103, !1); return s }, je.getAllAngularTestabilities = () => t.getAllTestabilities(), je.getAllAngularRootElements = () => t.getAllRootElements(), je.frameworkStabilizers || (je.frameworkStabilizers = []), je.frameworkStabilizers.push(n => { const r = je.getAllAngularTestabilities(); let s = r.length, o = !1; const a = function (l) { o = o || l, s--, 0 == s && n(o) }; r.forEach(l => { l.whenStable(a) }) }) } findTestabilityInTree(t, i, n) { return null == i ? null : t.getTestability(i) ?? (n ? ba().isShadowRoot(i) ? this.findTestabilityInTree(t, i.host, !0) : this.findTestabilityInTree(t, i.parentElement, !0) : null) } }, deps: [] }, { provide: S1, useClass: Ch, deps: [Se, Eh, Ec] }, { provide: Ch, useClass: Ch, deps: [Se, Eh, Ec] }], Vb = [{ provide: tf, useValue: "root" }, { provide: Ar, useFactory: function kk() { return new Ar }, deps: [] }, { provide: ep, useClass: Ok, multi: !0, deps: [Kt, Se, Nr] }, { provide: ep, useClass: Pk, multi: !0, deps: [Kt] }, xb, Nb, Mb, { provide: mf, useExisting: xb }, { provide: wb, useClass: wk, deps: [] }, []]; let Hk = (() => { var e; class t { constructor(n) { } static withServerTransition(n) { return { ngModule: t, providers: [{ provide: Wl, useValue: n.appId }] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Vk, 12)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [...Vb, ...Bb], imports: [yb, bP] }), t })(); typeof window < "u" && window; let Xt = (() => { var e; class t { constructor() { this.elementLookup = [] } findElementIndex(n) { let r = -1; for (let s = 0; s < this.elementLookup.length; s++)this.elementLookup[s].id == n && (r = s); return r } addElementObject(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullTagHTML(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].object = r } addElementTagHTML(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullObject(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].tagHtml = r } addElementAll(n, r, s, o) { let a = this.elementLookup.find(l => { }); if (null == a) { let l = this.initializeElementLookupDtoAll(n, r, o, s); this.elementLookup.push(l) } else null == a.tagHtml && (a.tagHtml = s), null == a.object && (a.object = null) } getElement(n) { return this.elementLookup.find(s => s.id == n) ?? null } initializeElementLookupDtoAll(n, r, s, o) { return new ap(n, r, s, o) } initializeElementLookupDtoNullObject(n, r, s) { return new ap(n, null, r, s) } initializeElementLookupDtoNullTagHTML(n, r, s) { return new ap(n, s, r, null) } clearElementLookupDict() { this.elementLookup.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class ap { constructor(t, i, n, r) { this.id = t, this.object = i, this.element = n, this.tagHtml = r } } let $t = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function $b(e) { return mt((t, i) => { let s, n = null, r = !1; n = t.subscribe(ft(i, void 0, void 0, o => { s = Ft(e(o, $b(e)(t))), n ? (n.unsubscribe(), n = null, s.subscribe(i)) : r = !0 })), r && (n.unsubscribe(), n = null, s.subscribe(i)) }) } function ci(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => e.call(t, s, r++) && n.next(s))) }) } function Gb(e) { return mt((t, i) => { try { t.subscribe(i) } finally { i.add(e) } }) } class $c { } class Gc { } class Pi { constructor(t) { this.normalizedNames = new Map, this.lazyUpdate = null, t ? "string" == typeof t ? this.lazyInit = () => { this.headers = new Map, t.split("\n").forEach(i => { const n = i.indexOf(":"); if (n > 0) { const r = i.slice(0, n), s = r.toLowerCase(), o = i.slice(n + 1).trim(); this.maybeSetNormalizedName(r, s), this.headers.has(s) ? this.headers.get(s).push(o) : this.headers.set(s, [o]) } }) } : typeof Headers < "u" && t instanceof Headers ? (this.headers = new Map, t.forEach((i, n) => { this.setHeaderEntries(n, i) })) : this.lazyInit = () => { this.headers = new Map, Object.entries(t).forEach(([i, n]) => { this.setHeaderEntries(i, n) }) } : this.headers = new Map } has(t) { return this.init(), this.headers.has(t.toLowerCase()) } get(t) { this.init(); const i = this.headers.get(t.toLowerCase()); return i && i.length > 0 ? i[0] : null } keys() { return this.init(), Array.from(this.normalizedNames.values()) } getAll(t) { return this.init(), this.headers.get(t.toLowerCase()) || null } append(t, i) { return this.clone({ name: t, value: i, op: "a" }) } set(t, i) { return this.clone({ name: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ name: t, value: i, op: "d" }) } maybeSetNormalizedName(t, i) { this.normalizedNames.has(i) || this.normalizedNames.set(i, t) } init() { this.lazyInit && (this.lazyInit instanceof Pi ? this.copyFrom(this.lazyInit) : this.lazyInit(), this.lazyInit = null, this.lazyUpdate && (this.lazyUpdate.forEach(t => this.applyUpdate(t)), this.lazyUpdate = null)) } copyFrom(t) { t.init(), Array.from(t.headers.keys()).forEach(i => { this.headers.set(i, t.headers.get(i)), this.normalizedNames.set(i, t.normalizedNames.get(i)) }) } clone(t) { const i = new Pi; return i.lazyInit = this.lazyInit && this.lazyInit instanceof Pi ? this.lazyInit : this, i.lazyUpdate = (this.lazyUpdate || []).concat([t]), i } applyUpdate(t) { const i = t.name.toLowerCase(); switch (t.op) { case "a": case "s": let n = t.value; if ("string" == typeof n && (n = [n]), 0 === n.length) return; this.maybeSetNormalizedName(t.name, i); const r = ("a" === t.op ? this.headers.get(i) : void 0) || []; r.push(...n), this.headers.set(i, r); break; case "d": const s = t.value; if (s) { let o = this.headers.get(i); if (!o) return; o = o.filter(a => -1 === s.indexOf(a)), 0 === o.length ? (this.headers.delete(i), this.normalizedNames.delete(i)) : this.headers.set(i, o) } else this.headers.delete(i), this.normalizedNames.delete(i) } } setHeaderEntries(t, i) { const n = (Array.isArray(i) ? i : [i]).map(s => s.toString()), r = t.toLowerCase(); this.headers.set(r, n), this.maybeSetNormalizedName(t, r) } forEach(t) { this.init(), Array.from(this.normalizedNames.keys()).forEach(i => t(this.normalizedNames.get(i), this.headers.get(i))) } } class Zk { encodeKey(t) { return zb(t) } encodeValue(t) { return zb(t) } decodeKey(t) { return decodeURIComponent(t) } decodeValue(t) { return decodeURIComponent(t) } } const Qk = /%(\d[a-f0-9])/gi, Kk = { 40: "@", "3A": ":", 24: "$", "2C": ",", "3B": ";", "3D": "=", "3F": "?", "2F": "/" }; function zb(e) { return encodeURIComponent(e).replace(Qk, (t, i) => Kk[i] ?? t) } function zc(e) { return `${e}` } class ur { constructor(t = {}) { if (this.updates = null, this.cloneFrom = null, this.encoder = t.encoder || new Zk, t.fromString) { if (t.fromObject) throw new Error("Cannot specify both fromString and fromObject."); this.map = function Jk(e, t) { const i = new Map; return e.length > 0 && e.replace(/^\?/, "").split("&").forEach(r => { const s = r.indexOf("="), [o, a] = -1 == s ? [t.decodeKey(r), ""] : [t.decodeKey(r.slice(0, s)), t.decodeValue(r.slice(s + 1))], l = i.get(o) || []; l.push(a), i.set(o, l) }), i }(t.fromString, this.encoder) } else t.fromObject ? (this.map = new Map, Object.keys(t.fromObject).forEach(i => { const n = t.fromObject[i], r = Array.isArray(n) ? n.map(zc) : [zc(n)]; this.map.set(i, r) })) : this.map = null } has(t) { return this.init(), this.map.has(t) } get(t) { this.init(); const i = this.map.get(t); return i ? i[0] : null } getAll(t) { return this.init(), this.map.get(t) || null } keys() { return this.init(), Array.from(this.map.keys()) } append(t, i) { return this.clone({ param: t, value: i, op: "a" }) } appendAll(t) { const i = []; return Object.keys(t).forEach(n => { const r = t[n]; Array.isArray(r) ? r.forEach(s => { i.push({ param: n, value: s, op: "a" }) }) : i.push({ param: n, value: r, op: "a" }) }), this.clone(i) } set(t, i) { return this.clone({ param: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ param: t, value: i, op: "d" }) } toString() { return this.init(), this.keys().map(t => { const i = this.encoder.encodeKey(t); return this.map.get(t).map(n => i + "=" + this.encoder.encodeValue(n)).join("&") }).filter(t => "" !== t).join("&") } clone(t) { const i = new ur({ encoder: this.encoder }); return i.cloneFrom = this.cloneFrom || this, i.updates = (this.updates || []).concat(t), i } init() { null === this.map && (this.map = new Map), null !== this.cloneFrom && (this.cloneFrom.init(), this.cloneFrom.keys().forEach(t => this.map.set(t, this.cloneFrom.map.get(t))), this.updates.forEach(t => { switch (t.op) { case "a": case "s": const i = ("a" === t.op ? this.map.get(t.param) : void 0) || []; i.push(zc(t.value)), this.map.set(t.param, i); break; case "d": if (void 0 === t.value) { this.map.delete(t.param); break } { let n = this.map.get(t.param) || []; const r = n.indexOf(zc(t.value)); -1 !== r && n.splice(r, 1), n.length > 0 ? this.map.set(t.param, n) : this.map.delete(t.param) } } }), this.cloneFrom = this.updates = null) } } class Xk { constructor() { this.map = new Map } set(t, i) { return this.map.set(t, i), this } get(t) { return this.map.has(t) || this.map.set(t, t.defaultValue()), this.map.get(t) } delete(t) { return this.map.delete(t), this } has(t) { return this.map.has(t) } keys() { return this.map.keys() } } function Wb(e) { return typeof ArrayBuffer < "u" && e instanceof ArrayBuffer } function qb(e) { return typeof Blob < "u" && e instanceof Blob } function Yb(e) { return typeof FormData < "u" && e instanceof FormData } class Sa { constructor(t, i, n, r) { let s; if (this.url = i, this.body = null, this.reportProgress = !1, this.withCredentials = !1, this.responseType = "json", this.method = t.toUpperCase(), function e2(e) { switch (e) { case "DELETE": case "GET": case "HEAD": case "OPTIONS": case "JSONP": return !1; default: return !0 } }(this.method) || r ? (this.body = void 0 !== n ? n : null, s = r) : s = n, s && (this.reportProgress = !!s.reportProgress, this.withCredentials = !!s.withCredentials, s.responseType && (this.responseType = s.responseType), s.headers && (this.headers = s.headers), s.context && (this.context = s.context), s.params && (this.params = s.params)), this.headers || (this.headers = new Pi), this.context || (this.context = new Xk), this.params) { const o = this.params.toString(); if (0 === o.length) this.urlWithParams = i; else { const a = i.indexOf("?"); this.urlWithParams = i + (-1 === a ? "?" : a < i.length - 1 ? "&" : "") + o } } else this.params = new ur, this.urlWithParams = i } serializeBody() { return null === this.body ? null : Wb(this.body) || qb(this.body) || Yb(this.body) || function t2(e) { return typeof URLSearchParams < "u" && e instanceof URLSearchParams }(this.body) || "string" == typeof this.body ? this.body : this.body instanceof ur ? this.body.toString() : "object" == typeof this.body || "boolean" == typeof this.body || Array.isArray(this.body) ? JSON.stringify(this.body) : this.body.toString() } detectContentTypeHeader() { return null === this.body || Yb(this.body) ? null : qb(this.body) ? this.body.type || null : Wb(this.body) ? null : "string" == typeof this.body ? "text/plain" : this.body instanceof ur ? "application/x-www-form-urlencoded;charset=UTF-8" : "object" == typeof this.body || "number" == typeof this.body || "boolean" == typeof this.body ? "application/json" : null } clone(t = {}) { const i = t.method || this.method, n = t.url || this.url, r = t.responseType || this.responseType, s = void 0 !== t.body ? t.body : this.body, o = void 0 !== t.withCredentials ? t.withCredentials : this.withCredentials, a = void 0 !== t.reportProgress ? t.reportProgress : this.reportProgress; let l = t.headers || this.headers, c = t.params || this.params; const u = t.context ?? this.context; return void 0 !== t.setHeaders && (l = Object.keys(t.setHeaders).reduce((h, g) => h.set(g, t.setHeaders[g]), l)), t.setParams && (c = Object.keys(t.setParams).reduce((h, g) => h.set(g, t.setParams[g]), c)), new Sa(i, n, s, { params: c, headers: l, context: u, reportProgress: a, responseType: r, withCredentials: o }) } } var so = function (e) { return e[e.Sent = 0] = "Sent", e[e.UploadProgress = 1] = "UploadProgress", e[e.ResponseHeader = 2] = "ResponseHeader", e[e.DownloadProgress = 3] = "DownloadProgress", e[e.Response = 4] = "Response", e[e.User = 5] = "User", e }(so || {}); class lp { constructor(t, i = 200, n = "OK") { this.headers = t.headers || new Pi, this.status = void 0 !== t.status ? t.status : i, this.statusText = t.statusText || n, this.url = t.url || null, this.ok = this.status >= 200 && this.status < 300 } } class cp extends lp { constructor(t = {}) { super(t), this.type = so.ResponseHeader } clone(t = {}) { return new cp({ headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class oo extends lp { constructor(t = {}) { super(t), this.type = so.Response, this.body = void 0 !== t.body ? t.body : null } clone(t = {}) { return new oo({ body: void 0 !== t.body ? t.body : this.body, headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class Zb extends lp { constructor(t) { super(t, 0, "Unknown Error"), this.name = "HttpErrorResponse", this.ok = !1, this.message = this.status >= 200 && this.status < 300 ? `Http failure during parsing for ${t.url || "(unknown url)"}` : `Http failure response for ${t.url || "(unknown url)"}: ${t.status} ${t.statusText}`, this.error = t.error || null } } function up(e, t) { return { body: t, headers: e.headers, context: e.context, observe: e.observe, params: e.params, reportProgress: e.reportProgress, responseType: e.responseType, withCredentials: e.withCredentials } } let Wc = (() => { var e; class t { constructor(n) { this.handler = n } request(n, r, s = {}) { let o; if (n instanceof Sa) o = n; else { let c, u; c = s.headers instanceof Pi ? s.headers : new Pi(s.headers), s.params && (u = s.params instanceof ur ? s.params : new ur({ fromObject: s.params })), o = new Sa(n, r, void 0 !== s.body ? s.body : null, { headers: c, context: s.context, params: u, reportProgress: s.reportProgress, responseType: s.responseType || "json", withCredentials: s.withCredentials }) } const a = ds(o).pipe(function Yk(e, t) { return $(t) ? us(e, t, 1) : us(e, 1) }(c => this.handler.handle(c))); if (n instanceof Sa || "events" === s.observe) return a; const l = a.pipe(ci(c => c instanceof oo)); switch (s.observe || "body") { case "body": switch (o.responseType) { case "arraybuffer": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof ArrayBuffer)) throw new Error("Response is not an ArrayBuffer."); return c.body })); case "blob": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof Blob)) throw new Error("Response is not a Blob."); return c.body })); case "text": return l.pipe(Pt(c => { if (null !== c.body && "string" != typeof c.body) throw new Error("Response is not a string."); return c.body })); default: return l.pipe(Pt(c => c.body)) }case "response": return l; default: throw new Error(`Unreachable: unhandled observe type ${s.observe}}`) } } delete(n, r = {}) { return this.request("DELETE", n, r) } get(n, r = {}) { return this.request("GET", n, r) } head(n, r = {}) { return this.request("HEAD", n, r) } jsonp(n, r) { return this.request("JSONP", n, { params: (new ur).append(r, "JSONP_CALLBACK"), observe: "body", responseType: "json" }) } options(n, r = {}) { return this.request("OPTIONS", n, r) } patch(n, r, s = {}) { return this.request("PATCH", n, up(s, r)) } post(n, r, s = {}) { return this.request("POST", n, up(s, r)) } put(n, r, s = {}) { return this.request("PUT", n, up(s, r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L($c)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function Kb(e, t) { return t(e) } function i2(e, t) { return (i, n) => t.intercept(i, { handle: r => e(r, n) }) } const s2 = new W(""), Ta = new W(""), Xb = new W(""); function o2() { let e = null; return (t, i) => { null === e && (e = (fe(s2, { optional: !0 }) ?? []).reduceRight(i2, Kb)); const n = fe(bh), r = n.add(); return e(t, i).pipe(Gb(() => n.remove(r))) } } let eD = (() => { var e; class t extends $c { constructor(n, r) { super(), this.backend = n, this.injector = r, this.chain = null, this.pendingTasks = fe(bh) } handle(n) { if (null === this.chain) { const s = Array.from(new Set([...this.injector.get(Ta), ...this.injector.get(Xb, [])])); this.chain = s.reduceRight((o, a) => function r2(e, t, i) { return (n, r) => i.runInContext(() => t(n, s => e(s, r))) }(o, a, this.injector), Kb) } const r = this.pendingTasks.add(); return this.chain(n, s => this.backend.handle(s)).pipe(Gb(() => this.pendingTasks.remove(r))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Gc), L(zn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const u2 = /^\)\]\}',?\n/; let nD = (() => { var e; class t { constructor(n) { this.xhrFactory = n } handle(n) { if ("JSONP" === n.method) throw new F(-2800, !1); const r = this.xhrFactory; return (r.\u0275loadImpl ? wo(r.\u0275loadImpl()) : ds(null)).pipe(Bu(() => new ze(o => { const a = r.build(); if (a.open(n.method, n.urlWithParams), n.withCredentials && (a.withCredentials = !0), n.headers.forEach((D, T) => a.setRequestHeader(D, T.join(","))), n.headers.has("Accept") || a.setRequestHeader("Accept", "application/json, text/plain, */*"), !n.headers.has("Content-Type")) { const D = n.detectContentTypeHeader(); null !== D && a.setRequestHeader("Content-Type", D) } if (n.responseType) { const D = n.responseType.toLowerCase(); a.responseType = "json" !== D ? D : "text" } const l = n.serializeBody(); let c = null; const u = () => { if (null !== c) return c; const D = a.statusText || "OK", T = new Pi(a.getAllResponseHeaders()), C = function d2(e) { return "responseURL" in e && e.responseURL ? e.responseURL : /^X-Request-URL:/m.test(e.getAllResponseHeaders()) ? e.getResponseHeader("X-Request-URL") : null }(a) || n.url; return c = new cp({ headers: T, status: a.status, statusText: D, url: C }), c }, h = () => { let { headers: D, status: T, statusText: C, url: P } = u(), O = null; 204 !== T && (O = typeof a.response > "u" ? a.responseText : a.response), 0 === T && (T = O ? 200 : 0); let V = T >= 200 && T < 300; if ("json" === n.responseType && "string" == typeof O) { const J = O; O = O.replace(u2, ""); try { O = "" !== O ? JSON.parse(O) : null } catch (ue) { O = J, V && (V = !1, O = { error: ue, text: O }) } } V ? (o.next(new oo({ body: O, headers: D, status: T, statusText: C, url: P || void 0 })), o.complete()) : o.error(new Zb({ error: O, headers: D, status: T, statusText: C, url: P || void 0 })) }, g = D => { const { url: T } = u(), C = new Zb({ error: D, status: a.status || 0, statusText: a.statusText || "Unknown Error", url: T || void 0 }); o.error(C) }; let _ = !1; const y = D => { _ || (o.next(u()), _ = !0); let T = { type: so.DownloadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), "text" === n.responseType && a.responseText && (T.partialText = a.responseText), o.next(T) }, b = D => { let T = { type: so.UploadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), o.next(T) }; return a.addEventListener("load", h), a.addEventListener("error", g), a.addEventListener("timeout", g), a.addEventListener("abort", g), n.reportProgress && (a.addEventListener("progress", y), null !== l && a.upload && a.upload.addEventListener("progress", b)), a.send(l), o.next({ type: so.Sent }), () => { a.removeEventListener("error", g), a.removeEventListener("abort", g), a.removeEventListener("load", h), a.removeEventListener("timeout", g), n.reportProgress && (a.removeEventListener("progress", y), null !== l && a.upload && a.upload.removeEventListener("progress", b)), a.readyState !== a.DONE && a.abort() } }))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(wb)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const dp = new W("XSRF_ENABLED"), iD = new W("XSRF_COOKIE_NAME", { providedIn: "root", factory: () => "XSRF-TOKEN" }), rD = new W("XSRF_HEADER_NAME", { providedIn: "root", factory: () => "X-XSRF-TOKEN" }); class sD { } let p2 = (() => { var e; class t { constructor(n, r, s) { this.doc = n, this.platform = r, this.cookieName = s, this.lastCookieString = "", this.lastToken = null, this.parseCount = 0 } getToken() { if ("server" === this.platform) return null; const n = this.doc.cookie || ""; return n !== this.lastCookieString && (this.parseCount++, this.lastToken = fb(n, this.cookieName), this.lastCookieString = n), this.lastToken } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Nr), L(iD)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function g2(e, t) { const i = e.url.toLowerCase(); if (!fe(dp) || "GET" === e.method || "HEAD" === e.method || i.startsWith("http://") || i.startsWith("https://")) return t(e); const n = fe(sD).getToken(), r = fe(rD); return null != n && !e.headers.has(r) && (e = e.clone({ headers: e.headers.set(r, n) })), t(e) } var dr = function (e) { return e[e.Interceptors = 0] = "Interceptors", e[e.LegacyInterceptors = 1] = "LegacyInterceptors", e[e.CustomXsrfConfiguration = 2] = "CustomXsrfConfiguration", e[e.NoXsrfProtection = 3] = "NoXsrfProtection", e[e.JsonpSupport = 4] = "JsonpSupport", e[e.RequestsMadeViaParent = 5] = "RequestsMadeViaParent", e[e.Fetch = 6] = "Fetch", e }(dr || {}); function Br(e, t) { return { \u0275kind: e, \u0275providers: t } } function _2(...e) { const t = [Wc, nD, eD, { provide: $c, useExisting: eD }, { provide: Gc, useExisting: nD }, { provide: Ta, useValue: g2, multi: !0 }, { provide: dp, useValue: !0 }, { provide: sD, useClass: p2 }]; for (const i of e) t.push(...i.\u0275providers); return function Kd(e) { return { \u0275providers: e } }(t) } const oD = new W("LEGACY_INTERCEPTOR_FN"); let v2 = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [_2(Br(dr.LegacyInterceptors, [{ provide: oD, useFactory: o2 }, { provide: Ta, useExisting: oD, multi: !0 }]))] }), t })(), aD = (() => { var e; class t { constructor(n) { this.http = n } load() { return this.http.get("/assets/config.json").toPromise().then(r => (Object.assign(this, r), r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), lD = (() => { var e; class t { constructor() { this.modals = [] } registerModal(n, r) { this.modals.push({ key: n, modalRef: r }) } removeModalByKey(n) { let r = -1; for (let s = 0; s < this.modals.length; s++) { let o = this.modals[s]; if (null != o && o.key == n) { r = s; break } } return r >= 0 && delete this.modals[r], r } closeRemoveAllModals() { this.modals.forEach(n => { n.modalRef.close() }), this.modals.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Yc = (() => { var e; class t { constructor() { this.contextKeyVal = [] } addContext(n, r) { let s = !1; for (let o = 0; o < this.contextKeyVal.length; o++) { let a = this.contextKeyVal[o]; a.key == n && (a.value = r, s = !0) } 0 == s && this.contextKeyVal.push(new E2(n, r)) } getContext() { return this.contextKeyVal } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextKeyVal.length; s++)if (this.contextKeyVal[s].key == n) { r = s; break } return r >= 0 ? this.contextKeyVal[r].value : "" } clearContext() { this.contextKeyVal.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class E2 { constructor(t, i) { this.key = t, this.value = i } } let Ma = (() => { var e; class t { constructor(n) { this.elementLookupService = n, this.contextMenus = [] } registerContextMenu(n, r) { this.contextMenus.push({ key: n, contextMenu: r }), this.elementLookupService.addElementTagHTML(n, null, r) } removeContextMenuByKey(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 && delete this.contextMenus[r], r } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 ? this.contextMenus[r].contextMenu : null } removeAllContextMenus() { this.contextMenus.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Xt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), S2 = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.http = n, this.configService = r, this.modalRefService = s, this.elementLookupService = o, this.contextService = a, this.contextMenuService = l, this.backend_URI = "http://localhost:8000", this.backend_URI = r.serverUrl + ":" + r.serverPort } get() { this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let n = $t.injector.get(Bn); const r = this.http.get(this.backend_URI).pipe($b((s, o) => (console.error("Error occurred during the HTTP request:", s), n.postMessage("error connection"), function qk(e, t) { const i = $(e) ? e : () => e, n = r => r.error(i()); return new ze(t ? r => t.schedule(n, 0, r) : n) }(() => new Error(s.error))))); return r } post(n, r) { let s = []; r.forEach(a => s.push(Object.assign({}, a))), this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let o = null; return o = this.http.post(this.backend_URI + "/backend", s.length > 0 ? { function: n, context: s } : { function: n }), o } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc), L(aD), L(lD), L(Xt), L(Yc), L(Ma)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Bn = (() => { var e; class t { constructor(n, r, s) { this.httpService = n, this.httpClient = r, this.contextService = s, this.frontendJson = new ee, this.menuBar = new ee, this.messageLists = new ee, this.contextMenus = new ee, this.lastData = null, this.backend_URI = "http://localhost:8000" } initialGet() { let n = document.getElementById("loader"); n?.removeAttribute("hidden"), this.httpService.get().subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r), n?.setAttribute("hidden", "true") } }) } operationPost(n) { let r = this.contextService.getContext(), s = document.getElementById("loader"); s?.removeAttribute("hidden"), this.httpService.post(n.operation, r).subscribe({ next: o => { this.lastData = o, this.frontendJson.next(o), s?.setAttribute("hidden", "true") } }) } uncheckedPost(n) { this.httpClient.post(this.backend_URI + "/backend", n).subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r) } }) } detectCreateMenuBar(n) { "menu_bar" == n.type ? this.menuBar.next(n) : n.children.forEach(r => { this.detectCreateMenuBar(r) }) } getAllMessagesContextMenus(n, r, s) { "message" == n.type ? r.push(n) : "context_menu" == n.type ? s.push(n) : n.children.forEach(o => { this.getAllMessagesContextMenus(o, r, s) }) } postMessage(n, r = "danger") { let s = [this.getErrorMessage(n)]; this.messageLists.next(s) } getErrorMessage(n, r = "danger") { return { id: "client_error", type: "message", parent: "window", attributes: [{ id: "client_error", key: "message", value: n }, { id: "client_error", key: "title", value: "Error" }, { id: "client_error", key: "type", value: r }], when: [], children: [] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(S2), L(Wc), L(Yc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Tn = (() => { var e; class t { constructor() { } attrBackgroundColor(n, r) { n.style.backgroundColor = r.value } attrHeight(n, r) { n.style.height = r.value + "px" } attrWidth(n, r) { n.style.width = r.value + "px" } setBorderHelper(n, r) { let s = Number(this.findGetAttributeValue("border_width", r, "0")), o = this.findGetAttributeValue("border_color", r, "black"); this.setBorder(n, s, o, "solid") } setBorder(n, r, s, o) { r > 0 && (n.style.border = String(r) + "px " + o + " " + s) } addAttributes(n, r) { let s = [{ key: "background_color", value: this.attrBackgroundColor }, { key: "height", value: this.attrHeight }, { key: "width", value: this.attrWidth }]; r.forEach(o => { let a = s.findIndex(l => l.key == o.key); a >= 0 && s[a].value(n, o) }), this.setHover(n, r) } addGeneralAttributes(n, r) { this.setGrid(n, r), this.setBorderHelper(n, r) } setGrid(n, r) { let s = this.findAttribute("grid_row", r), o = this.findAttribute("grid_row_span", r), a = this.findAttribute("grid_column", r), l = this.findAttribute("grid_column_span", r), c = 1; null != o && (c = Number(o.value)); let u = 1; if (null != l && (u = Number(l.value)), null != s) { let h = Number(s.value) + 1; n.style.gridRow = String(h) + "/span " + String(c) } if (null != a) { let h = Number(a.value) + 1; n.style.gridColumn = String(h) + "/span " + String(u) } } setHover(n, r) { let s = this.findGetAttributeValue("on_hover", r, "false"), o = this.findGetAttributeValue("on_hover_background_color", r, "white"), a = this.findGetAttributeValue("on_hover_foreground_color", r, "black"), l = this.findGetAttributeValue("on_hover_border_color", r, "white"), c = this.findGetAttributeValue("background_color", r, "white"), u = this.findGetAttributeValue("foreground_color", r, "black"), h = Number(this.findGetAttributeValue("border_width", r, "0")), g = this.findGetAttributeValue("border_color", r, "black"), _ = "solid"; "true" == s && (n.onmouseenter = y => { n.style.backgroundColor = o, n.style.color = a, this.setBorder(n, h, l, _) }, n.onmouseleave = y => { n.style.backgroundColor = c, n.style.color = u, this.setBorder(n, h, g, _) }) } textAttributes(n, r) { } addClasses(n, r, s, o, a = "class") { s.forEach(function (c) { n.classList.contains(c) && n.classList.remove(c), n.classList.add(c) }); let l = !1; r.forEach(function (c) { if (c.key == a) { l = !0; let u = String(c.value); n.classList.add(u) } }), l || o.forEach(function (c) { n.classList.add(c) }) } setAttributesDirectly(n, r) { r.forEach(s => { n.style[s.key] = s.value }) } findAttribute(n, r) { let s = null, o = r.findIndex(a => a.key == n); return o >= 0 && (s = r[o]), s } findGetAttributeValue(n, r, s) { let o = s, a = r.findIndex(l => l.key == n); return a >= 0 && (o = r[a].value), o } setAbsoulteRelativePositions(n, r, s) { let o = Number(this.findGetAttributeValue("pos_x", s.attributes, "-1")), a = Number(this.findGetAttributeValue("pos_y", s.attributes, "-1")); o >= 0 && "absstatic" == n && (r.style.left = String(o) + "px"), o >= 0 && "relstatic" == n && (r.style.left = String(o) + "%"), a >= 0 && "absstatic" == n && (r.style.top = String(a) + "px"), a >= 0 && "relstatic" == n && (r.style.top = String(a) + "%"), (a >= 0 || o >= 0) && ("absstatic" == n || "relstatic" == n) && (r.style.position = "absolute"); let l = this.findAttribute("grid_row", s.attributes), c = this.findAttribute("grid_column", s.attributes); null == l && "grid" == n && (r.style.gridRow = "1"), null == c && "grid" == n && (r.style.gridColumn = "1") } setChildLayout(n, r) { let s = this.findAttribute("child_layout", r), o = this.findAttribute("flex_direction", r); if (null != s) { let a = s?.value; "grid" == a ? n.style.display = "grid" : "flex" == a ? (n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column") : ("absstatic" == a || "relstatic" == a) && (n.style.position = "relative", n.style.display = "flex") } else n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column" } setVisibility(n, r) { let s = this.findAttribute("visibility", r); null != s && ("hidden" == s.value || "collapse" == s.value ? n.style.visibility = "collapse" : ("shown" == s.value || "visible" == s.value) && (n.style.visibility = "visible")) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const T2 = ["child"]; function M2(e, t) { } let cD = (() => { var e; class t { constructor(n, r, s, o) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.children = [] } ngAfterViewInit() { if (null != this.element) { "modal" != this.element.type && this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findGetAttributeValue("child_layout", this.element.attributes, "flex"); this.element.children.forEach(r => { let s = this.childBearerService.bearChild(this.child, r, n); null != s && this.children.push(s) }), this.cd.detectChanges() } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-container"]], viewQuery: function (n, r) { if (1 & n && at(T2, 5, Cn), 2 & n) { let s; se(s = oe()) && (r.child = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["child", ""]], template: function (n, r) { 1 & n && B(0, M2, 0, 0, "ng-template", null, 0, En) } }), t })(); function uD(e) { let t = [], i = "", n = 0; for (let r = 0; r < e.length; r++) { let s = e.charAt(r); if ("(" == s) n += 1, i += s; else if (")" == s) { if (n -= 1, i += s, n < 0) { console.log("ERROR - BRACKE LEVEL LOWER THAN 0"); break } } else "," == s && 0 == n ? (t.push(i), i = "") : i += s } return t.push(i), t } function dD(e) { $t.injector.get(Ma).contextMenus.length > 0 && (e.preventDefault(), e.stopPropagation(), fD()) } function fD() { let e = $t.injector.get(Ma), t = !1; return e.contextMenus.forEach(i => { let n = document.getElementById(i.key); null != n && "block" == n.style.display && (n.style.display = "none", t = !0) }), t } function hD(e, t) { let i = $t.injector.get(Xt), n = e.operation; n = n.substring(1), n = n.slice(0, -1); let r = uD(n), s = r[0], o = r[1], a = r[2].replaceAll('"', ""), l = i.getElement(s); if (null != l) { if ("context_menu" == l.element.type && null != t) return void ("visibility" != o || "visible" != a ? console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " + s + "," + o + "," + a) : function I2(e, t) { if (t.preventDefault(), t.stopPropagation(), 1 != fD() && null != $t.injector.get(Ma).retrieveContextValue(e) && "pageX" in t && "pageY" in t && "number" == typeof t.pageX && "number" == typeof t.pageY) { let r = document.getElementById(e); null != r && ("block" == r.style.display ? r.style.display = "none" : (r.style.display = "block", r.style.left = t.pageX + "px", r.style.top = t.pageY + "px")) } }(s, t)); let c = l.element.attributes, u = !1; for (let h in c) c[h].key == o && (u = !0, c[h] = { id: s, key: o, value: a }); 0 == u && c.push({ id: s, key: o, value: a }), l.element.attributes = c, null != l.object && "setAttributes" in l.object && null != l.object.setAttributes && "function" == typeof l.object.setAttributes && l.object.setAttributes(c), null == l.object && l.element.type.startsWith("svg") && null != l.tagHtml && l.tagHtml.style.setProperty(o, a.replaceAll('"', "")), null != l.tagHtml && $t.injector.get(Su).setChildTagAttributes(l.tagHtml, l.element) } else console.log("COULD NOT FIND ELEMENT FOR when:" + s + "::" + o + "::" + a), console.log(e) } function pD(e) { let t = $t.injector.get(Yc), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, n = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/, r = i.exec(e); for (; null != r;) { let s = r[0], o = r[1] || r[2] || r[3], a = r[4] || r[5] || r[6], l = r[7] || r[8] || r[9], c = t.retrieveContextValue(o); if (null == c || "" == c) { if (null == l) throw new Error("Missing required value for " + o); c = l } let u = /^[0-9]*$/.test(c), h = n.test(c), g = c.length > 1 && '"' == c[0] && '"' == c.slice(-1), _ = !u && !h && !g; if (null != a) { if ("str" != a && "int" != a && "const" != a) throw new Error("Not a valid type " + a + ". Should be str, int or const."); if ("str" != a || g) { if ("int" == a && !u) throw new Error("Expected a number but got " + c) } else c = '"' + c + '"'; if ("const" == a && !h) throw new Error("Expected a constant that can be parsed to an atom, but got: " + c) } console.log("out"), null == a && _ && (c = '"' + c + '"'), e = e.replace(s, c), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, r = i.exec(e) } return e } function gD(e, t) { let i = $t.injector.get(Bn), n = e.operation; n = pD(n), e.operation = n, i.operationPost(e) } function _D(e, t) { let i = $t.injector.get(Yc), n = e.operation; if (n = pD(n), "(" == n[0]) { n = n.substring(1), n = n.slice(0, -1); let o = uD(n); if (o.length >= 2) { o.length > 2 && (console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"), console.log(e)); let a = o[0], l = o[1]; if (null != t) { let u = t.target; if (null != u && "value" in u && null != l.match(/_value/g) && "string" == typeof u.value) { if ("" == u.value) return void console.log("EVENT TARGET IS EMPTY"); l = l.replace("_value", u.value) } } for (let c = 2; c < o.length; c++)l = l + "," + o[c]; return void i.addContext(a, l) } } let r = "The value of context event should be a tuple of size 2, but got " + e.operation; console.error(r), $t.injector.get(Bn).postMessage(r, "warning") } let Fi = (() => { var e; class t { constructor(n) { this.frontendService = n, document.onclick = dD, document.oncontextmenu = dD } findCallback(n, r) { let s = null, o = r.findIndex(a => a.actionType == n); return o >= 0 && (s = r[o]), s } setCallbacks(n, r) { this.handleEvent(n, r, "click", "click"), this.handleEvent(n, r, "input", "input"), this.handleEvent(n, r, "right_click", "contextmenu"), this.handleEvent(n, r, "mouseenter", "mouseenter"), this.handleEvent(n, r, "mouseleave", "mouseleave"), this.handleEvent(n, r, "load", "load"), this.handleEvent(n, r, "dblclick", "dblclick") } handleEvent(n, r, s = "", o = "") { let a = []; if (r.forEach(l => { l.actionType == s && a.push(l) }), a.length > 0 && "" != o) { if ("load" == s) return void a.forEach(l => { if ("context" == l.interactionType && _D(l, null), "update" == l.interactionType && hD(l, null), "call" == l.interactionType || "callback" == l.interactionType) { console.log("call"); try { gD(l) } catch (c) { $t.injector.get(Bn).postMessage(c.message, "warning") } } }); "click" == s && (n.style.cursor = "pointer"), n.addEventListener(o, function (l) { a.sort(function (g, _) { return g.interactionType < _.interactionType ? 1 : g.interactionType > _.interactionType ? -1 : 0 }); const c = a.filter(g => "update" == g.interactionType), u = a.filter(g => "context" == g.interactionType), h = a.filter(g => "call" == g.interactionType || "callback" == g.interactionType); c.forEach(g => { try { hD(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), u.forEach(g => { try { _D(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), h.length > 1 && (h[0].operation = "(" + h.map(g => g.operation).join(",") + ")"), h.forEach(g => { try { gD(h[0]) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }) }) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Bn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const { isArray: N2 } = Array; function mD(e) { return Pt(t => function A2(e, t) { return N2(t) ? e(...t) : e(t) }(e, t)) } const O2 = ["addListener", "removeListener"], x2 = ["addEventListener", "removeEventListener"], R2 = ["on", "off"]; function Gt(e, t, i, n) { if ($(i) && (n = i, i = void 0), n) return Gt(e, t, i).pipe(mD(n)); const [r, s] = function k2(e) { return $(e.addEventListener) && $(e.removeEventListener) }(e) ? x2.map(o => a => e[o](t, a, i)) : function P2(e) { return $(e.addListener) && $(e.removeListener) }(e) ? O2.map(vD(e, t)) : function F2(e) { return $(e.on) && $(e.off) }(e) ? R2.map(vD(e, t)) : []; if (!r && Pu(e)) return us(o => Gt(o, t, i))(Ft(e)); if (!r) throw new TypeError("Invalid event target"); return new ze(o => { const a = (...l) => o.next(1 < l.length ? l : l[0]); return r(a), () => s(a) }) } function vD(e, t) { return i => n => e[i](t, n) } class L2 extends de { constructor(t, i) { super() } schedule(t, i = 0) { return this } } const Zc = { setInterval(e, t, ...i) { const { delegate: n } = Zc; return n?.setInterval ? n.setInterval(e, t, ...i) : setInterval(e, t, ...i) }, clearInterval(e) { const { delegate: t } = Zc; return (t?.clearInterval || clearInterval)(e) }, delegate: void 0 }, yD = { now: () => (yD.delegate || Date).now(), delegate: void 0 }; class Ia { constructor(t, i = Ia.now) { this.schedulerActionCtor = t, this.now = i } schedule(t, i = 0, n) { return new this.schedulerActionCtor(this, t).schedule(n, i) } } Ia.now = yD.now; const bD = new class V2 extends Ia { constructor(t, i = Ia.now) { super(t, i), this.actions = [], this._active = !1 } flush(t) { const { actions: i } = this; if (this._active) return void i.push(t); let n; this._active = !0; do { if (n = t.execute(t.state, t.delay)) break } while (t = i.shift()); if (this._active = !1, n) { for (; t = i.shift();)t.unsubscribe(); throw n } } }(class B2 extends L2 { constructor(t, i) { super(t, i), this.scheduler = t, this.work = i, this.pending = !1 } schedule(t, i = 0) { var n; if (this.closed) return this; this.state = t; const r = this.id, s = this.scheduler; return null != r && (this.id = this.recycleAsyncId(s, r, i)), this.pending = !0, this.delay = i, this.id = null !== (n = this.id) && void 0 !== n ? n : this.requestAsyncId(s, this.id, i), this } requestAsyncId(t, i, n = 0) { return Zc.setInterval(t.flush.bind(t, this), n) } recycleAsyncId(t, i, n = 0) { if (null != n && this.delay === n && !1 === this.pending) return i; null != i && Zc.clearInterval(i) } execute(t, i) { if (this.closed) return new Error("executing a cancelled action"); this.pending = !1; const n = this._execute(t, i); if (n) return n; !1 === this.pending && null != this.id && (this.id = this.recycleAsyncId(this.scheduler, this.id, null)) } _execute(t, i) { let r, n = !1; try { this.work(t) } catch (s) { n = !0, r = s || new Error("Scheduled action threw falsy error") } if (n) return this.unsubscribe(), r } unsubscribe() { if (!this.closed) { const { id: t, scheduler: i } = this, { actions: n } = i; this.work = this.state = this.scheduler = null, this.pending = !1, ke(n, this), null != t && (this.id = this.recycleAsyncId(i, t, null)), this.delay = null, super.unsubscribe() } } }), H2 = bD; function DD(e = 0, t, i = H2) { let n = -1; return null != t && (bg(t) ? i = t : n = t), new ze(r => { let s = function U2(e) { return e instanceof Date && !isNaN(e) }(e) ? +e - i.now() : e; s < 0 && (s = 0); let o = 0; return i.schedule(function () { r.closed || (r.next(o++), 0 <= n ? this.schedule(void 0, n) : r.complete()) }, s) }) } const { isArray: j2 } = Array; function wD(e) { return 1 === e.length && j2(e[0]) ? e[0] : e } function CD(...e) { return 1 === (e = wD(e)).length ? Ft(e[0]) : new ze(function $2(e) { return t => { let i = []; for (let n = 0; i && !t.closed && n < e.length; n++)i.push(Ft(e[n]).subscribe(ft(t, r => { if (i) { for (let s = 0; s < i.length; s++)s !== n && i[s].unsubscribe(); i = null } t.next(r) }))) } }(e)) } function fp(...e) { const t = ku(e), i = wD(e); return i.length ? new ze(n => { let r = i.map(() => []), s = i.map(() => !1); n.add(() => { r = s = null }); for (let o = 0; !n.closed && o < i.length; o++)Ft(i[o]).subscribe(ft(n, a => { if (r[o].push(a), r.every(l => l.length)) { const l = r.map(c => c.shift()); n.next(t ? t(...l) : l), r.some((c, u) => !c.length && s[u]) && n.complete() } }, () => { s[o] = !0, !r[o].length && n.complete() })); return () => { r = s = null } }) : Do } function Jc(...e) { return function G2() { return yg(1) }()(wo(e, Qa(e))) } function Mt(e) { return mt((t, i) => { Ft(e).subscribe(ft(i, () => i.complete(), wt)), !i.closed && t.subscribe(i) }) } function ui(e) { return e <= 0 ? () => Do : mt((t, i) => { let n = 0; t.subscribe(ft(i, r => { ++n <= e && (i.next(r), e <= n && i.complete()) })) }) } function ED(e, t, i) { const n = $(e) || t || i ? { next: e, error: t, complete: i } : e; return n ? mt((r, s) => { var o; null === (o = n.subscribe) || void 0 === o || o.call(n); let a = !0; r.subscribe(ft(s, l => { var c; null === (c = n.next) || void 0 === c || c.call(n, l), s.next(l) }, () => { var l; a = !1, null === (l = n.complete) || void 0 === l || l.call(n), s.complete() }, l => { var c; a = !1, null === (c = n.error) || void 0 === c || c.call(n, l), s.error(l) }, () => { var l, c; a && (null === (l = n.unsubscribe) || void 0 === l || l.call(n)), null === (c = n.finalize) || void 0 === c || c.call(n) })) }) : yi } function hp(...e) { const t = ku(e); return mt((i, n) => { const r = e.length, s = new Array(r); let o = e.map(() => !1), a = !1; for (let l = 0; l < r; l++)Ft(e[l]).subscribe(ft(n, c => { s[l] = c, !a && !o[l] && (o[l] = !0, (a = o.every(yi)) && (o = null)) }, wt)); i.subscribe(ft(n, l => { if (a) { const c = [l, ...s]; n.next(t ? t(...c) : c) } })) }) } function SD(e, t) { return t ? i => Jc(t.pipe(ui(1), function W2() { return mt((e, t) => { e.subscribe(ft(t, wt)) }) }()), i.pipe(SD(e))) : us((i, n) => Ft(e(i, n)).pipe(ui(1), function q2(e) { return Pt(() => e) }(i))) } const { isArray: Q2 } = Array, { getPrototypeOf: K2, prototype: X2, keys: eL } = Object; function iL(e, t) { return e.reduce((i, n, r) => (i[n] = t[r], i), {}) } let TD = (() => { var e; class t { constructor(n, r) { this._renderer = n, this._elementRef = r, this.onChange = s => { }, this.onTouched = () => { } } setProperty(n, r) { this._renderer.setProperty(this._elementRef.nativeElement, n, r) } registerOnTouched(n) { this.onTouched = n } registerOnChange(n) { this.onChange = n } setDisabledState(n) { this.setProperty("disabled", n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe)) }, e.\u0275dir = k({ type: e }), t })(), Vr = (() => { var e; class t extends TD { } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, features: [Oe] }), t })(); const Kn = new W("NgValueAccessor"), sL = { provide: Kn, useExisting: ae(() => pp), multi: !0 }; let pp = (() => { var e; class t extends Vr { writeValue(n) { this.setProperty("checked", n) } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["input", "type", "checkbox", "formControlName", ""], ["input", "type", "checkbox", "formControl", ""], ["input", "type", "checkbox", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.checked) })("blur", function () { return r.onTouched() }) }, features: [$e([sL]), Oe] }), t })(); const oL = { provide: Kn, useExisting: ae(() => Qc), multi: !0 }, lL = new W("CompositionEventMode"); let Qc = (() => { var e; class t extends TD { constructor(n, r, s) { super(n, r), this._compositionMode = s, this._composing = !1, null == this._compositionMode && (this._compositionMode = !function aL() { const e = ba() ? ba().getUserAgent() : ""; return /android (\d+)/.test(e.toLowerCase()) }()) } writeValue(n) { this.setProperty("value", n ?? "") } _handleInput(n) { (!this._compositionMode || this._compositionMode && !this._composing) && this.onChange(n) } _compositionStart() { this._composing = !0 } _compositionEnd(n) { this._composing = !1, this._compositionMode && this.onChange(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe), v(lL, 8)) }, e.\u0275dir = k({ 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 (n, r) { 1 & n && ce("input", function (o) { return r._handleInput(o.target.value) })("blur", function () { return r.onTouched() })("compositionstart", function () { return r._compositionStart() })("compositionend", function (o) { return r._compositionEnd(o.target.value) }) }, features: [$e([oL]), Oe] }), t })(); const zt = new W("NgValidators"), hr = new W("NgAsyncValidators"); function kD(e) { return null != e } function LD(e) { return fc(e) ? wo(e) : e } function BD(e) { let t = {}; return e.forEach(i => { t = null != i ? { ...t, ...i } : t }), 0 === Object.keys(t).length ? null : t } function VD(e, t) { return t.map(i => i(e)) } function HD(e) { return e.map(t => function uL(e) { return !e.validate }(t) ? t : i => t.validate(i)) } function gp(e) { return null != e ? function UD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return BD(VD(i, t)) } }(HD(e)) : null } function jD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return function rL(...e) { const t = ku(e), { args: i, keys: n } = function tL(e) { if (1 === e.length) { const t = e[0]; if (Q2(t)) return { args: t, keys: null }; if (function nL(e) { return e && "object" == typeof e && K2(e) === X2 }(t)) { const i = eL(t); return { args: i.map(n => t[n]), keys: i } } } return { args: e, keys: null } }(e), r = new ze(s => { const { length: o } = i; if (!o) return void s.complete(); const a = new Array(o); let l = o, c = o; for (let u = 0; u < o; u++) { let h = !1; Ft(i[u]).subscribe(ft(s, g => { h || (h = !0, c--), a[u] = g }, () => l--, void 0, () => { (!l || !h) && (c || s.next(n ? iL(n, a) : a), s.complete()) })) } }); return t ? r.pipe(mD(t)) : r }(VD(i, t).map(LD)).pipe(Pt(BD)) } } function _p(e) { return null != e ? jD(HD(e)) : null } function $D(e, t) { return null === e ? [t] : Array.isArray(e) ? [...e, t] : [e, t] } function GD(e) { return e._rawValidators } function zD(e) { return e._rawAsyncValidators } function mp(e) { return e ? Array.isArray(e) ? e : [e] : [] } function Xc(e, t) { return Array.isArray(e) ? e.includes(t) : e === t } function WD(e, t) { const i = mp(t); return mp(e).forEach(r => { Xc(i, r) || i.push(r) }), i } function qD(e, t) { return mp(t).filter(i => !Xc(e, i)) } class YD { 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(t) { this._rawValidators = t || [], this._composedValidatorFn = gp(this._rawValidators) } _setAsyncValidators(t) { this._rawAsyncValidators = t || [], this._composedAsyncValidatorFn = _p(this._rawAsyncValidators) } get validator() { return this._composedValidatorFn || null } get asyncValidator() { return this._composedAsyncValidatorFn || null } _registerOnDestroy(t) { this._onDestroyCallbacks.push(t) } _invokeOnDestroyCallbacks() { this._onDestroyCallbacks.forEach(t => t()), this._onDestroyCallbacks = [] } reset(t = void 0) { this.control && this.control.reset(t) } hasError(t, i) { return !!this.control && this.control.hasError(t, i) } getError(t, i) { return this.control ? this.control.getError(t, i) : null } } class hn extends YD { get formDirective() { return null } get path() { return null } } class pr extends YD { constructor() { super(...arguments), this._parent = null, this.name = null, this.valueAccessor = null } } class ZD { constructor(t) { this._cd = t } 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 JD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(pr, 2)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""], ["", "ngModel", ""], ["", "formControl", ""]], hostVars: 14, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(), QD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(hn, 10)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroupName", ""], ["", "formArrayName", ""], ["", "ngModelGroup", ""], ["", "formGroup", ""], ["form", 3, "ngNoForm", ""], ["", "ngForm", ""]], hostVars: 16, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(); const Na = "VALID", tu = "INVALID", ao = "PENDING", Aa = "DISABLED"; function bp(e) { return (nu(e) ? e.validators : e) || null } function Dp(e, t) { return (nu(t) ? t.asyncValidators : e) || null } function nu(e) { return null != e && !Array.isArray(e) && "object" == typeof e } function XD(e, t, i) { const n = e.controls; if (!(t ? Object.keys(n) : n).length) throw new F(1e3, ""); if (!n[i]) throw new F(1001, "") } function ew(e, t, i) { e._forEachChild((n, r) => { if (void 0 === i[r]) throw new F(1002, "") }) } class iu { constructor(t, i) { this._pendingDirty = !1, this._hasOwnPendingAsyncValidator = !1, this._pendingTouched = !1, this._onCollectionChange = () => { }, this._parent = null, this.pristine = !0, this.touched = !1, this._onDisabledChange = [], this._assignValidators(t), this._assignAsyncValidators(i) } get validator() { return this._composedValidatorFn } set validator(t) { this._rawValidators = this._composedValidatorFn = t } get asyncValidator() { return this._composedAsyncValidatorFn } set asyncValidator(t) { this._rawAsyncValidators = this._composedAsyncValidatorFn = t } get parent() { return this._parent } get valid() { return this.status === Na } get invalid() { return this.status === tu } get pending() { return this.status == ao } get disabled() { return this.status === Aa } get enabled() { return this.status !== Aa } get dirty() { return !this.pristine } get untouched() { return !this.touched } get updateOn() { return this._updateOn ? this._updateOn : this.parent ? this.parent.updateOn : "change" } setValidators(t) { this._assignValidators(t) } setAsyncValidators(t) { this._assignAsyncValidators(t) } addValidators(t) { this.setValidators(WD(t, this._rawValidators)) } addAsyncValidators(t) { this.setAsyncValidators(WD(t, this._rawAsyncValidators)) } removeValidators(t) { this.setValidators(qD(t, this._rawValidators)) } removeAsyncValidators(t) { this.setAsyncValidators(qD(t, this._rawAsyncValidators)) } hasValidator(t) { return Xc(this._rawValidators, t) } hasAsyncValidator(t) { return Xc(this._rawAsyncValidators, t) } clearValidators() { this.validator = null } clearAsyncValidators() { this.asyncValidator = null } markAsTouched(t = {}) { this.touched = !0, this._parent && !t.onlySelf && this._parent.markAsTouched(t) } markAllAsTouched() { this.markAsTouched({ onlySelf: !0 }), this._forEachChild(t => t.markAllAsTouched()) } markAsUntouched(t = {}) { this.touched = !1, this._pendingTouched = !1, this._forEachChild(i => { i.markAsUntouched({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updateTouched(t) } markAsDirty(t = {}) { this.pristine = !1, this._parent && !t.onlySelf && this._parent.markAsDirty(t) } markAsPristine(t = {}) { this.pristine = !0, this._pendingDirty = !1, this._forEachChild(i => { i.markAsPristine({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updatePristine(t) } markAsPending(t = {}) { this.status = ao, !1 !== t.emitEvent && this.statusChanges.emit(this.status), this._parent && !t.onlySelf && this._parent.markAsPending(t) } disable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Aa, this.errors = null, this._forEachChild(n => { n.disable({ ...t, onlySelf: !0 }) }), this._updateValue(), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!0)) } enable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Na, this._forEachChild(n => { n.enable({ ...t, onlySelf: !0 }) }), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!1)) } _updateAncestors(t) { this._parent && !t.onlySelf && (this._parent.updateValueAndValidity(t), t.skipPristineCheck || this._parent._updatePristine(), this._parent._updateTouched()) } setParent(t) { this._parent = t } getRawValue() { return this.value } updateValueAndValidity(t = {}) { this._setInitialStatus(), this._updateValue(), this.enabled && (this._cancelExistingSubscription(), this.errors = this._runValidator(), this.status = this._calculateStatus(), (this.status === Na || this.status === ao) && this._runAsyncValidator(t.emitEvent)), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._parent && !t.onlySelf && this._parent.updateValueAndValidity(t) } _updateTreeValidity(t = { emitEvent: !0 }) { this._forEachChild(i => i._updateTreeValidity(t)), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }) } _setInitialStatus() { this.status = this._allControlsDisabled() ? Aa : Na } _runValidator() { return this.validator ? this.validator(this) : null } _runAsyncValidator(t) { if (this.asyncValidator) { this.status = ao, this._hasOwnPendingAsyncValidator = !0; const i = LD(this.asyncValidator(this)); this._asyncValidationSubscription = i.subscribe(n => { this._hasOwnPendingAsyncValidator = !1, this.setErrors(n, { emitEvent: t }) }) } } _cancelExistingSubscription() { this._asyncValidationSubscription && (this._asyncValidationSubscription.unsubscribe(), this._hasOwnPendingAsyncValidator = !1) } setErrors(t, i = {}) { this.errors = t, this._updateControlsErrors(!1 !== i.emitEvent) } get(t) { let i = t; return null == i || (Array.isArray(i) || (i = i.split(".")), 0 === i.length) ? null : i.reduce((n, r) => n && n._find(r), this) } getError(t, i) { const n = i ? this.get(i) : this; return n && n.errors ? n.errors[t] : null } hasError(t, i) { return !!this.getError(t, i) } get root() { let t = this; for (; t._parent;)t = t._parent; return t } _updateControlsErrors(t) { this.status = this._calculateStatus(), t && this.statusChanges.emit(this.status), this._parent && this._parent._updateControlsErrors(t) } _initObservables() { this.valueChanges = new Y, this.statusChanges = new Y } _calculateStatus() { return this._allControlsDisabled() ? Aa : this.errors ? tu : this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(ao) ? ao : this._anyControlsHaveStatus(tu) ? tu : Na } _anyControlsHaveStatus(t) { return this._anyControls(i => i.status === t) } _anyControlsDirty() { return this._anyControls(t => t.dirty) } _anyControlsTouched() { return this._anyControls(t => t.touched) } _updatePristine(t = {}) { this.pristine = !this._anyControlsDirty(), this._parent && !t.onlySelf && this._parent._updatePristine(t) } _updateTouched(t = {}) { this.touched = this._anyControlsTouched(), this._parent && !t.onlySelf && this._parent._updateTouched(t) } _registerOnCollectionChange(t) { this._onCollectionChange = t } _setUpdateStrategy(t) { nu(t) && null != t.updateOn && (this._updateOn = t.updateOn) } _parentMarkedDirty(t) { return !t && !(!this._parent || !this._parent.dirty) && !this._parent._anyControlsDirty() } _find(t) { return null } _assignValidators(t) { this._rawValidators = Array.isArray(t) ? t.slice() : t, this._composedValidatorFn = function pL(e) { return Array.isArray(e) ? gp(e) : e || null }(this._rawValidators) } _assignAsyncValidators(t) { this._rawAsyncValidators = Array.isArray(t) ? t.slice() : t, this._composedAsyncValidatorFn = function gL(e) { return Array.isArray(e) ? _p(e) : e || null }(this._rawAsyncValidators) } } class Hr extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } registerControl(t, i) { return this.controls[t] ? this.controls[t] : (this.controls[t] = i, i.setParent(this), i._registerOnCollectionChange(this._onCollectionChange), i) } addControl(t, i, n = {}) { this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } removeControl(t, i = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } setControl(t, i, n = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], i && this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } contains(t) { return this.controls.hasOwnProperty(t) && this.controls[t].enabled } setValue(t, i = {}) { ew(this, 0, t), Object.keys(t).forEach(n => { XD(this, !0, n), this.controls[n].setValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (Object.keys(t).forEach(n => { const r = this.controls[n]; r && r.patchValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = {}, i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this._reduceChildren({}, (t, i, n) => (t[n] = i.getRawValue(), t)) } _syncPendingControls() { let t = this._reduceChildren(!1, (i, n) => !!n._syncPendingControls() || i); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { Object.keys(this.controls).forEach(i => { const n = this.controls[i]; n && t(n, i) }) } _setUpControls() { this._forEachChild(t => { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) }) } _updateValue() { this.value = this._reduceValue() } _anyControls(t) { for (const [i, n] of Object.entries(this.controls)) if (this.contains(i) && t(n)) return !0; return !1 } _reduceValue() { return this._reduceChildren({}, (i, n, r) => ((n.enabled || this.disabled) && (i[r] = n.value), i)) } _reduceChildren(t, i) { let n = t; return this._forEachChild((r, s) => { n = i(n, r, s) }), n } _allControlsDisabled() { for (const t of Object.keys(this.controls)) if (this.controls[t].enabled) return !1; return Object.keys(this.controls).length > 0 || this.disabled } _find(t) { return this.controls.hasOwnProperty(t) ? this.controls[t] : null } } class tw extends Hr { } const Ur = new W("CallSetDisabledState", { providedIn: "root", factory: () => Oa }), Oa = "always"; function xa(e, t, i = Oa) { wp(e, t), t.valueAccessor.writeValue(e.value), (e.disabled || "always" === i) && t.valueAccessor.setDisabledState?.(e.disabled), function mL(e, t) { t.valueAccessor.registerOnChange(i => { e._pendingValue = i, e._pendingChange = !0, e._pendingDirty = !0, "change" === e.updateOn && nw(e, t) }) }(e, t), function yL(e, t) { const i = (n, r) => { t.valueAccessor.writeValue(n), r && t.viewToModelUpdate(n) }; e.registerOnChange(i), t._registerOnDestroy(() => { e._unregisterOnChange(i) }) }(e, t), function vL(e, t) { t.valueAccessor.registerOnTouched(() => { e._pendingTouched = !0, "blur" === e.updateOn && e._pendingChange && nw(e, t), "submit" !== e.updateOn && e.markAsTouched() }) }(e, t), function _L(e, t) { if (t.valueAccessor.setDisabledState) { const i = n => { t.valueAccessor.setDisabledState(n) }; e.registerOnDisabledChange(i), t._registerOnDestroy(() => { e._unregisterOnDisabledChange(i) }) } }(e, t) } function su(e, t, i = !0) { const n = () => { }; t.valueAccessor && (t.valueAccessor.registerOnChange(n), t.valueAccessor.registerOnTouched(n)), au(e, t), e && (t._invokeOnDestroyCallbacks(), e._registerOnCollectionChange(() => { })) } function ou(e, t) { e.forEach(i => { i.registerOnValidatorChange && i.registerOnValidatorChange(t) }) } function wp(e, t) { const i = GD(e); null !== t.validator ? e.setValidators($D(i, t.validator)) : "function" == typeof i && e.setValidators([i]); const n = zD(e); null !== t.asyncValidator ? e.setAsyncValidators($D(n, t.asyncValidator)) : "function" == typeof n && e.setAsyncValidators([n]); const r = () => e.updateValueAndValidity(); ou(t._rawValidators, r), ou(t._rawAsyncValidators, r) } function au(e, t) { let i = !1; if (null !== e) { if (null !== t.validator) { const r = GD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.validator); s.length !== r.length && (i = !0, e.setValidators(s)) } } if (null !== t.asyncValidator) { const r = zD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.asyncValidator); s.length !== r.length && (i = !0, e.setAsyncValidators(s)) } } } const n = () => { }; return ou(t._rawValidators, n), ou(t._rawAsyncValidators, n), i } function nw(e, t) { e._pendingDirty && e.markAsDirty(), e.setValue(e._pendingValue, { emitModelToViewChange: !1 }), t.viewToModelUpdate(e._pendingValue), e._pendingChange = !1 } function sw(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } function ow(e) { return "object" == typeof e && null !== e && 2 === Object.keys(e).length && "value" in e && "disabled" in e } const jr = class extends iu { constructor(t = null, i, n) { super(bp(i), Dp(n, i)), this.defaultValue = null, this._onChange = [], this._pendingChange = !1, this._applyFormState(t), this._setUpdateStrategy(i), this._initObservables(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }), nu(i) && (i.nonNullable || i.initialValueIsDefault) && (this.defaultValue = ow(t) ? t.value : t) } setValue(t, i = {}) { this.value = this._pendingValue = t, this._onChange.length && !1 !== i.emitModelToViewChange && this._onChange.forEach(n => n(this.value, !1 !== i.emitViewToModelChange)), this.updateValueAndValidity(i) } patchValue(t, i = {}) { this.setValue(t, i) } reset(t = this.defaultValue, i = {}) { this._applyFormState(t), this.markAsPristine(i), this.markAsUntouched(i), this.setValue(this.value, i), this._pendingChange = !1 } _updateValue() { } _anyControls(t) { return !1 } _allControlsDisabled() { return this.disabled } registerOnChange(t) { this._onChange.push(t) } _unregisterOnChange(t) { sw(this._onChange, t) } registerOnDisabledChange(t) { this._onDisabledChange.push(t) } _unregisterOnDisabledChange(t) { sw(this._onDisabledChange, t) } _forEachChild(t) { } _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(t) { ow(t) ? (this.value = this._pendingValue = t.value, t.disabled ? this.disable({ onlySelf: !0, emitEvent: !1 }) : this.enable({ onlySelf: !0, emitEvent: !1 })) : this.value = this._pendingValue = t } }; let dw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275dir = k({ type: e, selectors: [["form", 3, "ngNoForm", "", 3, "ngNativeValidate", ""]], hostAttrs: ["novalidate", ""] }), t })(), hw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const Mp = new W("NgModelWithFormControlWarning"), RL = { provide: hn, useExisting: ae(() => lu) }; let lu = (() => { var e; class t extends hn { constructor(n, r, s) { super(), this.callSetDisabledState = s, this.submitted = !1, this._onCollectionChange = () => this._updateDomValue(), this.directives = [], this.form = null, this.ngSubmit = new Y, this._setValidators(n), this._setAsyncValidators(r) } ngOnChanges(n) { this._checkFormPresent(), n.hasOwnProperty("form") && (this._updateValidators(), this._updateDomValue(), this._updateRegistrations(), this._oldForm = this.form) } ngOnDestroy() { this.form && (au(this.form, this), this.form._onCollectionChange === this._onCollectionChange && this.form._registerOnCollectionChange(() => { })) } get formDirective() { return this } get control() { return this.form } get path() { return [] } addControl(n) { const r = this.form.get(n.path); return xa(r, n, this.callSetDisabledState), r.updateValueAndValidity({ emitEvent: !1 }), this.directives.push(n), r } getControl(n) { return this.form.get(n.path) } removeControl(n) { su(n.control || null, n, !1), function CL(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) }(this.directives, n) } addFormGroup(n) { this._setUpFormContainer(n) } removeFormGroup(n) { this._cleanUpFormContainer(n) } getFormGroup(n) { return this.form.get(n.path) } addFormArray(n) { this._setUpFormContainer(n) } removeFormArray(n) { this._cleanUpFormContainer(n) } getFormArray(n) { return this.form.get(n.path) } updateModel(n, r) { this.form.get(n.path).setValue(r) } onSubmit(n) { return this.submitted = !0, function rw(e, t) { e._syncPendingControls(), t.forEach(i => { const n = i.control; "submit" === n.updateOn && n._pendingChange && (i.viewToModelUpdate(n._pendingValue), n._pendingChange = !1) }) }(this.form, this.directives), this.ngSubmit.emit(n), "dialog" === n?.target?.method } onReset() { this.resetForm() } resetForm(n = void 0) { this.form.reset(n), this.submitted = !1 } _updateDomValue() { this.directives.forEach(n => { const r = n.control, s = this.form.get(n.path); r !== s && (su(r || null, n), (e => e instanceof jr)(s) && (xa(s, n, this.callSetDisabledState), n.control = s)) }), this.form._updateTreeValidity({ emitEvent: !1 }) } _setUpFormContainer(n) { const r = this.form.get(n.path); (function iw(e, t) { wp(e, t) })(r, n), r.updateValueAndValidity({ emitEvent: !1 }) } _cleanUpFormContainer(n) { if (this.form) { const r = this.form.get(n.path); r && function bL(e, t) { return au(e, t) }(r, n) && r.updateValueAndValidity({ emitEvent: !1 }) } } _updateRegistrations() { this.form._registerOnCollectionChange(this._onCollectionChange), this._oldForm && this._oldForm._registerOnCollectionChange(() => { }) } _updateValidators() { wp(this.form, this), this._oldForm && au(this._oldForm, this) } _checkFormPresent() { } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(zt, 10), v(hr, 10), v(Ur, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroup", ""]], hostBindings: function (n, r) { 1 & n && ce("submit", function (o) { return r.onSubmit(o) })("reset", function () { return r.onReset() }) }, inputs: { form: ["formGroup", "form"] }, outputs: { ngSubmit: "ngSubmit" }, exportAs: ["ngForm"], features: [$e([RL]), Oe, sn] }), t })(); const kL = { provide: pr, useExisting: ae(() => Ap) }; let Ap = (() => { var e; class t extends pr { set isDisabled(n) { } constructor(n, r, s, o, a) { super(), this._ngModelWarningConfig = a, this._added = !1, this.name = null, this.update = new Y, this._ngModelWarningSent = !1, this._parent = n, this._setValidators(r), this._setAsyncValidators(s), this.valueAccessor = function Sp(e, t) { if (!t) return null; let i, n, r; return Array.isArray(t), t.forEach(s => { s.constructor === Qc ? i = s : function wL(e) { return Object.getPrototypeOf(e.constructor) === Vr }(s) ? n = s : r = s }), r || n || i || null }(0, o) } ngOnChanges(n) { this._added || this._setUpControl(), function Ep(e, t) { if (!e.hasOwnProperty("model")) return !1; const i = e.model; return !!i.isFirstChange() || !Object.is(t, i.currentValue) }(n, this.viewModel) && (this.viewModel = this.model, this.formDirective.updateModel(this, this.model)) } ngOnDestroy() { this.formDirective && this.formDirective.removeControl(this) } viewToModelUpdate(n) { this.viewModel = n, this.update.emit(n) } get path() { return function ru(e, t) { return [...t.path, e] }(null == this.name ? this.name : this.name.toString(), this._parent) } get formDirective() { return this._parent ? this._parent.formDirective : null } _checkParentType() { } _setUpControl() { this._checkParentType(), this.control = this.formDirective.addControl(this), this._added = !0 } } return (e = t)._ngModelWarningSentOnce = !1, e.\u0275fac = function (n) { return new (n || e)(v(hn, 13), v(zt, 10), v(hr, 10), v(Kn, 10), v(Mp, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""]], inputs: { name: ["formControlName", "name"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, features: [$e([kL]), Oe, sn] }), t })(); const LL = { provide: Kn, useExisting: ae(() => cu), multi: !0 }; function vw(e, t) { return null == e ? `${t}` : (t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let cu = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { this.value = n; const s = vw(this._getOptionId(n), n); this.setProperty("value", s) } registerOnChange(n) { this.onChange = r => { this.value = this._getOptionValue(r), n(this.value) } } _registerOption() { return (this._idCounter++).toString() } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r), n)) return r; return null } _getOptionValue(n) { const r = function BL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r) : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "formControlName", "", 3, "multiple", ""], ["select", "formControl", "", 3, "multiple", ""], ["select", "ngModel", "", 3, "multiple", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.value) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([LL]), Oe] }), t })(), yw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption()) } set ngValue(n) { null != this._select && (this._select._optionMap.set(this.id, n), this._setElementValue(vw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._setElementValue(n), this._select && this._select.writeValue(this._select.value) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(cu, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(); const VL = { provide: Kn, useExisting: ae(() => Op), multi: !0 }; function bw(e, t) { return null == e ? `${t}` : ("string" == typeof t && (t = `'${t}'`), t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let Op = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { let r; if (this.value = n, Array.isArray(n)) { const s = n.map(o => this._getOptionId(o)); r = (o, a) => { o._setSelected(s.indexOf(a.toString()) > -1) } } else r = (s, o) => { s._setSelected(!1) }; this._optionMap.forEach(r) } registerOnChange(n) { this.onChange = r => { const s = [], o = r.selectedOptions; if (void 0 !== o) { const a = o; for (let l = 0; l < a.length; l++) { const u = this._getOptionValue(a[l].value); s.push(u) } } else { const a = r.options; for (let l = 0; l < a.length; l++) { const c = a[l]; if (c.selected) { const u = this._getOptionValue(c.value); s.push(u) } } } this.value = s, n(s) } } _registerOption(n) { const r = (this._idCounter++).toString(); return this._optionMap.set(r, n), r } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r)._value, n)) return r; return null } _getOptionValue(n) { const r = function HL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r)._value : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "multiple", "", "formControlName", ""], ["select", "multiple", "", "formControl", ""], ["select", "multiple", "", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([VL]), Oe] }), t })(), Dw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption(this)) } set ngValue(n) { null != this._select && (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._select ? (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) : this._setElementValue(n) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } _setSelected(n) { this._renderer.setProperty(this._element.nativeElement, "selected", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(Op, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(), Ow = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [hw] }), t })(); class xw extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } at(t) { return this.controls[this._adjustIndex(t)] } push(t, i = {}) { this.controls.push(t), this._registerControl(t), this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } insert(t, i, n = {}) { this.controls.splice(t, 0, i), this._registerControl(i), this.updateValueAndValidity({ emitEvent: n.emitEvent }) } removeAt(t, i = {}) { let n = this._adjustIndex(t); n < 0 && (n = 0), this.controls[n] && this.controls[n]._registerOnCollectionChange(() => { }), this.controls.splice(n, 1), this.updateValueAndValidity({ emitEvent: i.emitEvent }) } setControl(t, i, n = {}) { let r = this._adjustIndex(t); r < 0 && (r = 0), this.controls[r] && this.controls[r]._registerOnCollectionChange(() => { }), this.controls.splice(r, 1), i && (this.controls.splice(r, 0, i), this._registerControl(i)), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } get length() { return this.controls.length } setValue(t, i = {}) { ew(this, 0, t), t.forEach((n, r) => { XD(this, !1, r), this.at(r).setValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (t.forEach((n, r) => { this.at(r) && this.at(r).patchValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = [], i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this.controls.map(t => t.getRawValue()) } clear(t = {}) { this.controls.length < 1 || (this._forEachChild(i => i._registerOnCollectionChange(() => { })), this.controls.splice(0), this.updateValueAndValidity({ emitEvent: t.emitEvent })) } _adjustIndex(t) { return t < 0 ? t + this.length : t } _syncPendingControls() { let t = this.controls.reduce((i, n) => !!n._syncPendingControls() || i, !1); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { this.controls.forEach((i, n) => { t(i, n) }) } _updateValue() { this.value = this.controls.filter(t => t.enabled || this.disabled).map(t => t.value) } _anyControls(t) { return this.controls.some(i => i.enabled && t(i)) } _setUpControls() { this._forEachChild(t => this._registerControl(t)) } _allControlsDisabled() { for (const t of this.controls) if (t.enabled) return !1; return this.controls.length > 0 || this.disabled } _registerControl(t) { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) } _find(t) { return this.at(t) ?? null } } function Rw(e) { return !!e && (void 0 !== e.asyncValidators || void 0 !== e.validators || void 0 !== e.updateOn) } let ZL = (() => { var e; class t { constructor() { this.useNonNullable = !1 } get nonNullable() { const n = new t; return n.useNonNullable = !0, n } group(n, r = null) { const s = this._reduceControls(n); let o = {}; return Rw(r) ? o = r : null !== r && (o.validators = r.validator, o.asyncValidators = r.asyncValidator), new Hr(s, o) } record(n, r = null) { const s = this._reduceControls(n); return new tw(s, r) } control(n, r, s) { let o = {}; return this.useNonNullable ? (Rw(r) ? o = r : (o.validators = r, o.asyncValidators = s), new jr(n, { ...o, nonNullable: !0 })) : new jr(n, r, s) } array(n, r, s) { const o = n.map(a => this._createControl(a)); return new xw(o, r, s) } _reduceControls(n) { const r = {}; return Object.keys(n).forEach(s => { r[s] = this._createControl(n[s]) }), r } _createControl(n) { return n instanceof jr || n instanceof iu ? n : Array.isArray(n) ? this.control(n[0], n.length > 1 ? n[1] : null, n.length > 2 ? n[2] : null) : this.control(n) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), JL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(), QL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Mp, useValue: n.warnOnNgModelWithFormControl ?? "always" }, { provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(); var KL = { left: "right", right: "left", bottom: "top", top: "bottom" }; function uu(e) { return e.replace(/left|right|bottom|top/g, function (t) { return KL[t] }) } function ki(e) { return e.split("-")[0] } var XL = { start: "end", end: "start" }; function Pw(e) { return e.replace(/start|end/g, function (t) { return XL[t] }) } var Vn = "top", di = "bottom", fi = "right", Hn = "left", Rp = "auto", Pa = [Vn, di, fi, Hn], lo = "start", Fa = "end", Fw = "viewport", ka = "popper", kw = Pa.reduce(function (e, t) { return e.concat([t + "-" + lo, t + "-" + Fa]) }, []), Lw = [].concat(Pa, [Rp]).reduce(function (e, t) { return e.concat([t, t + "-" + lo, t + "-" + Fa]) }, []), dB = ["beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite"]; function Un(e) { if (null == e) return window; if ("[object Window]" !== e.toString()) { var t = e.ownerDocument; return t && t.defaultView || window } return e } function Gr(e) { return e instanceof Un(e).Element || e instanceof Element } function Xn(e) { return e instanceof Un(e).HTMLElement || e instanceof HTMLElement } function Pp(e) { return !(typeof ShadowRoot > "u") && (e instanceof Un(e).ShadowRoot || e instanceof ShadowRoot) } function gr(e) { return ((Gr(e) ? e.ownerDocument : e.document) || window.document).documentElement } var zr = Math.max, du = Math.min, co = Math.round; function Fp() { var e = navigator.userAgentData; return null != e && e.brands && Array.isArray(e.brands) ? e.brands.map(function (t) { return t.brand + "/" + t.version }).join(" ") : navigator.userAgent } function Bw() { return !/^((?!chrome|android).)*safari/i.test(Fp()) } function uo(e, t, i) { void 0 === t && (t = !1), void 0 === i && (i = !1); var n = e.getBoundingClientRect(), r = 1, s = 1; t && Xn(e) && (r = e.offsetWidth > 0 && co(n.width) / e.offsetWidth || 1, s = e.offsetHeight > 0 && co(n.height) / e.offsetHeight || 1); var a = (Gr(e) ? Un(e) : window).visualViewport, l = !Bw() && i, c = (n.left + (l && a ? a.offsetLeft : 0)) / r, u = (n.top + (l && a ? a.offsetTop : 0)) / s, h = n.width / r, g = n.height / s; return { width: h, height: g, top: u, right: c + h, bottom: u + g, left: c, x: c, y: u } } function kp(e) { var t = Un(e); return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset } } function Lp(e) { return uo(gr(e)).left + kp(e).scrollLeft } function Yi(e) { return Un(e).getComputedStyle(e) } function Li(e) { return e ? (e.nodeName || "").toLowerCase() : null } function fu(e) { return "html" === Li(e) ? e : e.assignedSlot || e.parentNode || (Pp(e) ? e.host : null) || gr(e) } function Bp(e) { var t = Yi(e); return /auto|scroll|overlay|hidden/.test(t.overflow + t.overflowY + t.overflowX) } function Vw(e) { return ["html", "body", "#document"].indexOf(Li(e)) >= 0 ? e.ownerDocument.body : Xn(e) && Bp(e) ? e : Vw(fu(e)) } function La(e, t) { var i; void 0 === t && (t = []); var n = Vw(e), r = n === (null == (i = e.ownerDocument) ? void 0 : i.body), s = Un(n), o = r ? [s].concat(s.visualViewport || [], Bp(n) ? n : []) : n, a = t.concat(o); return r ? a : a.concat(La(fu(o))) } function pB(e) { return ["table", "td", "th"].indexOf(Li(e)) >= 0 } function Hw(e) { return Xn(e) && "fixed" !== Yi(e).position ? e.offsetParent : null } function Ba(e) { for (var t = Un(e), i = Hw(e); i && pB(i) && "static" === Yi(i).position;)i = Hw(i); return i && ("html" === Li(i) || "body" === Li(i) && "static" === Yi(i).position) ? t : i || function gB(e) { var t = /firefox/i.test(Fp()); if (/Trident/i.test(Fp()) && Xn(e) && "fixed" === Yi(e).position) return null; var r = fu(e); for (Pp(r) && (r = r.host); Xn(r) && ["html", "body"].indexOf(Li(r)) < 0;) { var s = Yi(r); if ("none" !== s.transform || "none" !== s.perspective || "paint" === s.contain || -1 !== ["transform", "perspective"].indexOf(s.willChange) || t && "filter" === s.willChange || t && s.filter && "none" !== s.filter) return r; r = r.parentNode } return null }(e) || t } function Uw(e, t) { var i = t.getRootNode && t.getRootNode(); if (e.contains(t)) return !0; if (i && Pp(i)) { var n = t; do { if (n && e.isSameNode(n)) return !0; n = n.parentNode || n.host } while (n) } return !1 } function Vp(e) { return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }) } function jw(e, t, i) { return t === Fw ? Vp(function fB(e, t) { var i = Un(e), n = gr(e), r = i.visualViewport, s = n.clientWidth, o = n.clientHeight, a = 0, l = 0; if (r) { s = r.width, o = r.height; var c = Bw(); (c || !c && "fixed" === t) && (a = r.offsetLeft, l = r.offsetTop) } return { width: s, height: o, x: a + Lp(e), y: l } }(e, i)) : Gr(t) ? function _B(e, t) { var i = uo(e, !1, "fixed" === t); return i.top = i.top + e.clientTop, i.left = i.left + e.clientLeft, i.bottom = i.top + e.clientHeight, i.right = i.left + e.clientWidth, i.width = e.clientWidth, i.height = e.clientHeight, i.x = i.left, i.y = i.top, i }(t, i) : Vp(function hB(e) { var t, i = gr(e), n = kp(e), r = null == (t = e.ownerDocument) ? void 0 : t.body, s = zr(i.scrollWidth, i.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), o = zr(i.scrollHeight, i.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), a = -n.scrollLeft + Lp(e), l = -n.scrollTop; return "rtl" === Yi(r || i).direction && (a += zr(i.clientWidth, r ? r.clientWidth : 0) - s), { width: s, height: o, x: a, y: l } }(gr(e))) } function fo(e) { return e.split("-")[1] } function Hp(e) { return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y" } function $w(e) { var l, t = e.reference, i = e.element, n = e.placement, r = n ? ki(n) : null, s = n ? fo(n) : null, o = t.x + t.width / 2 - i.width / 2, a = t.y + t.height / 2 - i.height / 2; switch (r) { case Vn: l = { x: o, y: t.y - i.height }; break; case di: l = { x: o, y: t.y + t.height }; break; case fi: l = { x: t.x + t.width, y: a }; break; case Hn: l = { x: t.x - i.width, y: a }; break; default: l = { x: t.x, y: t.y } }var c = r ? Hp(r) : null; if (null != c) { var u = "y" === c ? "height" : "width"; switch (s) { case lo: l[c] = l[c] - (t[u] / 2 - i[u] / 2); break; case Fa: l[c] = l[c] + (t[u] / 2 - i[u] / 2) } } return l } function zw(e) { return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e) } function Ww(e, t) { return t.reduce(function (i, n) { return i[n] = e, i }, {}) } function Up(e, t) { void 0 === t && (t = {}); var n = t.placement, r = void 0 === n ? e.placement : n, s = t.strategy, o = void 0 === s ? e.strategy : s, a = t.boundary, l = void 0 === a ? "clippingParents" : a, c = t.rootBoundary, u = void 0 === c ? Fw : c, h = t.elementContext, g = void 0 === h ? ka : h, _ = t.altBoundary, y = void 0 !== _ && _, b = t.padding, D = void 0 === b ? 0 : b, T = zw("number" != typeof D ? D : Ww(D, Pa)), P = e.rects.popper, O = e.elements[y ? g === ka ? "reference" : ka : g], V = function vB(e, t, i, n) { var r = "clippingParents" === t ? function mB(e) { var t = La(fu(e)), n = ["absolute", "fixed"].indexOf(Yi(e).position) >= 0 && Xn(e) ? Ba(e) : e; return Gr(n) ? t.filter(function (r) { return Gr(r) && Uw(r, n) && "body" !== Li(r) }) : [] }(e) : [].concat(t), s = [].concat(r, [i]), a = s.reduce(function (l, c) { var u = jw(e, c, n); return l.top = zr(u.top, l.top), l.right = du(u.right, l.right), l.bottom = du(u.bottom, l.bottom), l.left = zr(u.left, l.left), l }, jw(e, s[0], n)); return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a }(Gr(O) ? O : O.contextElement || gr(e.elements.popper), l, u, o), J = uo(e.elements.reference), ue = $w({ reference: J, element: P, strategy: "absolute", placement: r }), _e = Vp(Object.assign({}, P, ue)), lt = g === ka ? _e : J, Dt = { top: V.top - lt.top + T.top, bottom: lt.bottom - V.bottom + T.bottom, left: V.left - lt.left + T.left, right: lt.right - V.right + T.right }, Bt = e.modifiersData.offset; if (g === ka && Bt) { var pi = Bt[r]; Object.keys(Dt).forEach(function (gn) { var Xr = [fi, di].indexOf(gn) >= 0 ? 1 : -1, es = [Vn, di].indexOf(gn) >= 0 ? "y" : "x"; Dt[gn] += pi[es] * Xr }) } return Dt } const wB = { name: "flip", enabled: !0, phase: "main", fn: function DB(e) { var t = e.state, i = e.options, n = e.name; if (!t.modifiersData[n]._skip) { for (var r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 === o || o, l = i.fallbackPlacements, c = i.padding, u = i.boundary, h = i.rootBoundary, g = i.altBoundary, _ = i.flipVariations, y = void 0 === _ || _, b = i.allowedAutoPlacements, D = t.options.placement, T = ki(D), P = l || (T !== D && y ? function bB(e) { if (ki(e) === Rp) return []; var t = uu(e); return [Pw(e), t, Pw(t)] }(D) : [uu(D)]), O = [D].concat(P).reduce(function (mo, _r) { return mo.concat(ki(_r) === Rp ? function yB(e, t) { void 0 === t && (t = {}); var r = t.boundary, s = t.rootBoundary, o = t.padding, a = t.flipVariations, l = t.allowedAutoPlacements, c = void 0 === l ? Lw : l, u = fo(t.placement), h = u ? a ? kw : kw.filter(function (y) { return fo(y) === u }) : Pa, g = h.filter(function (y) { return c.indexOf(y) >= 0 }); 0 === g.length && (g = h); var _ = g.reduce(function (y, b) { return y[b] = Up(e, { placement: b, boundary: r, rootBoundary: s, padding: o })[ki(b)], y }, {}); return Object.keys(_).sort(function (y, b) { return _[y] - _[b] }) }(t, { placement: _r, boundary: u, rootBoundary: h, padding: c, flipVariations: y, allowedAutoPlacements: b }) : _r) }, []), V = t.rects.reference, J = t.rects.popper, ue = new Map, _e = !0, lt = O[0], Dt = 0; Dt < O.length; Dt++) { var Bt = O[Dt], pi = ki(Bt), gn = fo(Bt) === lo, Xr = [Vn, di].indexOf(pi) >= 0, es = Xr ? "width" : "height", jn = Up(t, { placement: Bt, boundary: u, rootBoundary: h, altBoundary: g, padding: c }), gi = Xr ? gn ? fi : Hn : gn ? di : Vn; V[es] > J[es] && (gi = uu(gi)); var Tu = uu(gi), ts = []; if (s && ts.push(jn[pi] <= 0), a && ts.push(jn[gi] <= 0, jn[Tu] <= 0), ts.every(function (mo) { return mo })) { lt = Bt, _e = !1; break } ue.set(Bt, ts) } if (_e) for (var og = function (_r) { var Za = O.find(function (Nu) { var ns = ue.get(Nu); if (ns) return ns.slice(0, _r).every(function (ag) { return ag }) }); if (Za) return lt = Za, "break" }, Ya = y ? 3 : 1; Ya > 0 && "break" !== og(Ya); Ya--); t.placement !== lt && (t.modifiersData[n]._skip = !0, t.placement = lt, t.reset = !0) } }, requiresIfExists: ["offset"], data: { _skip: !1 } }; function Va(e, t, i) { return zr(e, du(t, i)) } function jp(e) { var t = uo(e), i = e.offsetWidth, n = e.offsetHeight; return Math.abs(t.width - i) <= 1 && (i = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), { x: e.offsetLeft, y: e.offsetTop, width: i, height: n } } const TB = { name: "preventOverflow", enabled: !0, phase: "main", fn: function SB(e) { var t = e.state, i = e.options, n = e.name, r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 !== o && o, g = i.tether, _ = void 0 === g || g, y = i.tetherOffset, b = void 0 === y ? 0 : y, D = Up(t, { boundary: i.boundary, rootBoundary: i.rootBoundary, padding: i.padding, altBoundary: i.altBoundary }), T = ki(t.placement), C = fo(t.placement), P = !C, O = Hp(T), V = function CB(e) { return "x" === e ? "y" : "x" }(O), J = t.modifiersData.popperOffsets, ue = t.rects.reference, _e = t.rects.popper, lt = "function" == typeof b ? b(Object.assign({}, t.rects, { placement: t.placement })) : b, Dt = "number" == typeof lt ? { mainAxis: lt, altAxis: lt } : Object.assign({ mainAxis: 0, altAxis: 0 }, lt), Bt = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, pi = { x: 0, y: 0 }; if (J) { if (s) { var gn, Xr = "y" === O ? Vn : Hn, es = "y" === O ? di : fi, jn = "y" === O ? "height" : "width", gi = J[O], Tu = gi + D[Xr], ts = gi - D[es], Mu = _ ? -_e[jn] / 2 : 0, og = C === lo ? ue[jn] : _e[jn], Ya = C === lo ? -_e[jn] : -ue[jn], Iu = t.elements.arrow, mo = _ && Iu ? jp(Iu) : { width: 0, height: 0 }, _r = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }, Za = _r[Xr], Nu = _r[es], ns = Va(0, ue[jn], mo[jn]), ag = P ? ue[jn] / 2 - Mu - ns - Za - Dt.mainAxis : og - ns - Za - Dt.mainAxis, aj = P ? -ue[jn] / 2 + Mu + ns + Nu + Dt.mainAxis : Ya + ns + Nu + Dt.mainAxis, lg = t.elements.arrow && Ba(t.elements.arrow), lj = lg ? "y" === O ? lg.clientTop || 0 : lg.clientLeft || 0 : 0, uE = null != (gn = Bt?.[O]) ? gn : 0, uj = gi + aj - uE, dE = Va(_ ? du(Tu, gi + ag - uE - lj) : Tu, gi, _ ? zr(ts, uj) : ts); J[O] = dE, pi[O] = dE - gi } if (a) { var fE, is = J[V], Au = "y" === V ? "height" : "width", hE = is + D["x" === O ? Vn : Hn], pE = is - D["x" === O ? di : fi], cg = -1 !== [Vn, Hn].indexOf(T), gE = null != (fE = Bt?.[V]) ? fE : 0, _E = cg ? hE : is - ue[Au] - _e[Au] - gE + Dt.altAxis, mE = cg ? is + ue[Au] + _e[Au] - gE - Dt.altAxis : pE, vE = _ && cg ? function EB(e, t, i) { var n = Va(e, t, i); return n > i ? i : n }(_E, is, mE) : Va(_ ? _E : hE, is, _ ? mE : pE); J[V] = vE, pi[V] = vE - is } t.modifiersData[n] = pi } }, requiresIfExists: ["offset"] }, AB = { name: "arrow", enabled: !0, phase: "main", fn: function IB(e) { var t, i = e.state, n = e.name, r = e.options, s = i.elements.arrow, o = i.modifiersData.popperOffsets, a = ki(i.placement), l = Hp(a), u = [Hn, fi].indexOf(a) >= 0 ? "height" : "width"; if (s && o) { var h = function (t, i) { return zw("number" != typeof (t = "function" == typeof t ? t(Object.assign({}, i.rects, { placement: i.placement })) : t) ? t : Ww(t, Pa)) }(r.padding, i), g = jp(s), _ = "y" === l ? Vn : Hn, y = "y" === l ? di : fi, b = i.rects.reference[u] + i.rects.reference[l] - o[l] - i.rects.popper[u], D = o[l] - i.rects.reference[l], T = Ba(s), C = T ? "y" === l ? T.clientHeight || 0 : T.clientWidth || 0 : 0, J = C / 2 - g[u] / 2 + (b / 2 - D / 2), ue = Va(h[_], J, C - g[u] - h[y]); i.modifiersData[n] = ((t = {})[l] = ue, t.centerOffset = ue - J, t) } }, effect: function NB(e) { var t = e.state, n = e.options.element, r = void 0 === n ? "[data-popper-arrow]" : n; null != r && ("string" == typeof r && !(r = t.elements.popper.querySelector(r)) || Uw(t.elements.popper, r) && (t.elements.arrow = r)) }, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] }; function PB(e, t, i) { void 0 === i && (i = !1); var n = Xn(t), r = Xn(t) && function RB(e) { var t = e.getBoundingClientRect(), i = co(t.width) / e.offsetWidth || 1, n = co(t.height) / e.offsetHeight || 1; return 1 !== i || 1 !== n }(t), s = gr(t), o = uo(e, r, i), a = { scrollLeft: 0, scrollTop: 0 }, l = { x: 0, y: 0 }; return (n || !n && !i) && (("body" !== Li(t) || Bp(s)) && (a = function xB(e) { return e !== Un(e) && Xn(e) ? function OB(e) { return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } }(e) : kp(e) }(t)), Xn(t) ? ((l = uo(t, !0)).x += t.clientLeft, l.y += t.clientTop) : s && (l.x = Lp(s))), { x: o.left + a.scrollLeft - l.x, y: o.top + a.scrollTop - l.y, width: o.width, height: o.height } } function FB(e) { var t = new Map, i = new Set, n = []; function r(s) { i.add(s.name), [].concat(s.requires || [], s.requiresIfExists || []).forEach(function (a) { if (!i.has(a)) { var l = t.get(a); l && r(l) } }), n.push(s) } return e.forEach(function (s) { t.set(s.name, s) }), e.forEach(function (s) { i.has(s.name) || r(s) }), n } function LB(e) { var t; return function () { return t || (t = new Promise(function (i) { Promise.resolve().then(function () { t = void 0, i(e()) }) })), t } } var qw = { placement: "bottom", modifiers: [], strategy: "absolute" }; function Yw() { for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)t[i] = arguments[i]; return !t.some(function (n) { return !(n && "function" == typeof n.getBoundingClientRect) }) } function VB(e) { void 0 === e && (e = {}); var i = e.defaultModifiers, n = void 0 === i ? [] : i, r = e.defaultOptions, s = void 0 === r ? qw : r; return function (a, l, c) { void 0 === c && (c = s); var u = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, qw, s), modifiersData: {}, elements: { reference: a, popper: l }, attributes: {}, styles: {} }, h = [], g = !1, _ = { state: u, setOptions: function (T) { var C = "function" == typeof T ? T(u.options) : T; b(), u.options = Object.assign({}, s, u.options, C), u.scrollParents = { reference: Gr(a) ? La(a) : a.contextElement ? La(a.contextElement) : [], popper: La(l) }; var P = function kB(e) { var t = FB(e); return dB.reduce(function (i, n) { return i.concat(t.filter(function (r) { return r.phase === n })) }, []) }(function BB(e) { var t = e.reduce(function (i, n) { var r = i[n.name]; return i[n.name] = r ? Object.assign({}, r, n, { options: Object.assign({}, r.options, n.options), data: Object.assign({}, r.data, n.data) }) : n, i }, {}); return Object.keys(t).map(function (i) { return t[i] }) }([].concat(n, u.options.modifiers))); return u.orderedModifiers = P.filter(function (O) { return O.enabled }), function y() { u.orderedModifiers.forEach(function (D) { var C = D.options, O = D.effect; if ("function" == typeof O) { var V = O({ state: u, name: D.name, instance: _, options: void 0 === C ? {} : C }); h.push(V || function () { }) } }) }(), _.update() }, forceUpdate: function () { if (!g) { var T = u.elements, C = T.reference, P = T.popper; if (Yw(C, P)) { u.rects = { reference: PB(C, Ba(P), "fixed" === u.options.strategy), popper: jp(P) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function (Dt) { return u.modifiersData[Dt.name] = Object.assign({}, Dt.data) }); for (var O = 0; O < u.orderedModifiers.length; O++)if (!0 !== u.reset) { var V = u.orderedModifiers[O], J = V.fn, ue = V.options; "function" == typeof J && (u = J({ state: u, options: void 0 === ue ? {} : ue, name: V.name, instance: _ }) || u) } else u.reset = !1, O = -1 } } }, update: LB(function () { return new Promise(function (D) { _.forceUpdate(), D(u) }) }), destroy: function () { b(), g = !0 } }; if (!Yw(a, l)) return _; function b() { h.forEach(function (D) { return D() }), h = [] } return _.setOptions(c).then(function (D) { !g && c.onFirstUpdate && c.onFirstUpdate(D) }), _ } } var hu = { passive: !0 }, GB = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; function Zw(e) { var t, i = e.popper, n = e.popperRect, r = e.placement, s = e.variation, o = e.offsets, a = e.position, l = e.gpuAcceleration, c = e.adaptive, u = e.roundOffsets, h = e.isFixed, g = o.x, _ = void 0 === g ? 0 : g, y = o.y, b = void 0 === y ? 0 : y, D = "function" == typeof u ? u({ x: _, y: b }) : { x: _, y: b }; _ = D.x, b = D.y; var T = o.hasOwnProperty("x"), C = o.hasOwnProperty("y"), P = Hn, O = Vn, V = window; if (c) { var J = Ba(i), ue = "clientHeight", _e = "clientWidth"; J === Un(i) && "static" !== Yi(J = gr(i)).position && "absolute" === a && (ue = "scrollHeight", _e = "scrollWidth"), (r === Vn || (r === Hn || r === fi) && s === Fa) && (O = di, b -= (h && J === V && V.visualViewport ? V.visualViewport.height : J[ue]) - n.height, b *= l ? 1 : -1), r !== Hn && (r !== Vn && r !== di || s !== Fa) || (P = fi, _ -= (h && J === V && V.visualViewport ? V.visualViewport.width : J[_e]) - n.width, _ *= l ? 1 : -1) } var gn, Bt = Object.assign({ position: a }, c && GB), pi = !0 === u ? function zB(e, t) { var n = e.y, r = t.devicePixelRatio || 1; return { x: co(e.x * r) / r || 0, y: co(n * r) / r || 0 } }({ x: _, y: b }, Un(i)) : { x: _, y: b }; return _ = pi.x, b = pi.y, Object.assign({}, Bt, l ? ((gn = {})[O] = C ? "0" : "", gn[P] = T ? "0" : "", gn.transform = (V.devicePixelRatio || 1) <= 1 ? "translate(" + _ + "px, " + b + "px)" : "translate3d(" + _ + "px, " + b + "px, 0)", gn) : ((t = {})[O] = C ? b + "px" : "", t[P] = T ? _ + "px" : "", t.transform = "", t)) } var QB = VB({ defaultModifiers: [{ name: "eventListeners", enabled: !0, phase: "write", fn: function () { }, effect: function HB(e) { var t = e.state, i = e.instance, n = e.options, r = n.scroll, s = void 0 === r || r, o = n.resize, a = void 0 === o || o, l = Un(t.elements.popper), c = [].concat(t.scrollParents.reference, t.scrollParents.popper); return s && c.forEach(function (u) { u.addEventListener("scroll", i.update, hu) }), a && l.addEventListener("resize", i.update, hu), function () { s && c.forEach(function (u) { u.removeEventListener("scroll", i.update, hu) }), a && l.removeEventListener("resize", i.update, hu) } }, data: {} }, { name: "popperOffsets", enabled: !0, phase: "read", fn: function jB(e) { var t = e.state; t.modifiersData[e.name] = $w({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement }) }, data: {} }, { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: function WB(e) { var t = e.state, i = e.options, n = i.gpuAcceleration, r = void 0 === n || n, s = i.adaptive, o = void 0 === s || s, a = i.roundOffsets, l = void 0 === a || a, c = { placement: ki(t.placement), variation: fo(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: r, isFixed: "fixed" === t.options.strategy }; null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, Zw(Object.assign({}, c, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: l })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, Zw(Object.assign({}, c, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: l })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement }) }, data: {} }, { name: "applyStyles", enabled: !0, phase: "write", fn: function YB(e) { var t = e.state; Object.keys(t.elements).forEach(function (i) { var n = t.styles[i] || {}, r = t.attributes[i] || {}, s = t.elements[i]; !Xn(s) || !Li(s) || (Object.assign(s.style, n), Object.keys(r).forEach(function (o) { var a = r[o]; !1 === a ? s.removeAttribute(o) : s.setAttribute(o, !0 === a ? "" : a) })) }) }, effect: function ZB(e) { var t = e.state, i = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; return Object.assign(t.elements.popper.style, i.popper), t.styles = i, t.elements.arrow && Object.assign(t.elements.arrow.style, i.arrow), function () { Object.keys(t.elements).forEach(function (n) { var r = t.elements[n], s = t.attributes[n] || {}, a = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : i[n]).reduce(function (l, c) { return l[c] = "", l }, {}); !Xn(r) || !Li(r) || (Object.assign(r.style, a), Object.keys(s).forEach(function (l) { r.removeAttribute(l) })) }) } }, requires: ["computeStyles"] }] }); const eV = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: function XB(e) { var t = e.state, n = e.name, r = e.options.offset, s = void 0 === r ? [0, 0] : r, o = Lw.reduce(function (u, h) { return u[h] = function KB(e, t, i) { var n = ki(e), r = [Hn, Vn].indexOf(n) >= 0 ? -1 : 1, s = "function" == typeof i ? i(Object.assign({}, t, { placement: e })) : i, o = s[0], a = s[1]; return o = o || 0, a = (a || 0) * r, [Hn, fi].indexOf(n) >= 0 ? { x: a, y: o } : { x: o, y: a } }(h, t.rects, s), u }, {}), a = o[t.placement], c = a.y; null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += a.x, t.modifiersData.popperOffsets.y += c), t.modifiersData[n] = o } }; function lV(e, t) { if (1 & e) { const i = Dn(); j(0, "button", 1), ce("click", function () { return on(i), an(z().close()) }), U() } } const Jw = ["*"], BV = ["dialog"]; function Wr(e) { return "string" == typeof e } function qr(e) { return null != e } function ho(e) { return (e || document.body).getBoundingClientRect() } function tC(e = document) { const t = e?.activeElement; return t ? t.shadowRoot ? tC(t.shadowRoot) : t : null } const nC = { animation: !0, transitionTimerDelayMs: 5 }, A3 = () => { }, { transitionTimerDelayMs: O3 } = nC, Ha = new Map, pn = (e, t, i, n) => { let r = n.context || {}; const s = Ha.get(t); if (s) switch (n.runningTransition) { case "continue": return Do; case "stop": e.run(() => s.transition$.complete()), r = Object.assign(s.context, r), Ha.delete(t) }const o = i(t, n.animation, r) || A3; if (!n.animation || "none" === window.getComputedStyle(t).transitionProperty) return e.run(() => o()), ds(void 0).pipe(function I3(e) { return t => new ze(i => t.subscribe({ next: o => e.run(() => i.next(o)), error: o => e.run(() => i.error(o)), complete: () => e.run(() => i.complete()) })) }(e)); const a = new ee, l = new ee, c = a.pipe(function z2(...e) { return t => Jc(t, ds(...e)) }(!0)); Ha.set(t, { transition$: a, complete: () => { l.next(), l.complete() }, context: r }); const u = function N3(e) { const { transitionDelay: t, transitionDuration: i } = window.getComputedStyle(e); return 1e3 * (parseFloat(t) + parseFloat(i)) }(t); return e.runOutsideAngular(() => { const h = Gt(t, "transitionend").pipe(Mt(c), ci(({ target: _ }) => _ === t)); CD(DD(u + O3).pipe(Mt(c)), h, l).pipe(Mt(c)).subscribe(() => { Ha.delete(t), e.run(() => { o(), a.next(), a.complete() }) }) }), a.asObservable() }; let Ua = (() => { var e; class t { constructor() { this.animation = nC.animation } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), dC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const H3 = ({ classList: e }) => { e.remove("show") }; let U3 = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.dismissible = !0, this.type = "warning" } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), j3 = (() => { var e; class t { constructor(n, r, s, o) { this._renderer = r, this._element = s, this._zone = o, this.closed = new Y, this.dismissible = n.dismissible, this.type = n.type, this.animation = n.animation } close() { const n = pn(this._zone, this._element.nativeElement, H3, { animation: this.animation, runningTransition: "continue" }); return n.subscribe(() => this.closed.emit()), n } ngOnChanges(n) { const r = n.type; r && !r.firstChange && (this._renderer.removeClass(this._element.nativeElement, `alert-${r.previousValue}`), this._renderer.addClass(this._element.nativeElement, `alert-${r.currentValue}`)) } ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(U3), v(Wn), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-alert"]], hostAttrs: ["role", "alert", 1, "alert", "show"], hostVars: 4, hostBindings: function (n, r) { 2 & n && De("fade", r.animation)("alert-dismissible", r.dismissible) }, inputs: { animation: "animation", dismissible: "dismissible", type: "type" }, outputs: { closed: "closed" }, exportAs: ["ngbAlert"], standalone: !0, features: [sn, Zn], ngContentSelectors: Jw, decls: 2, vars: 1, consts: function () { let i; return i = $localize`:@@ngb.alert.close:Close`, [["type", "button", "class", "btn-close", "aria-label", i, 3, "click", 4, "ngIf"], ["type", "button", "aria-label", i, 1, "btn-close", 3, "click"]] }, template: function (n, r) { 1 & n && (Wf(), qf(0), B(1, lV, 1, 0, "button", 0)), 2 & n && (R(1), x("ngIf", r.dismissible)) }, dependencies: [Ln], styles: ["ngb-alert{display:block}\n"], encapsulation: 2, changeDetection: 0 }), t })(), fC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), gC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), Yp = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); var Ge = function (e) { return e[e.Tab = 9] = "Tab", e[e.Enter = 13] = "Enter", e[e.Escape = 27] = "Escape", e[e.Space = 32] = "Space", e[e.PageUp = 33] = "PageUp", e[e.PageDown = 34] = "PageDown", e[e.End = 35] = "End", e[e.Home = 36] = "Home", e[e.ArrowLeft = 37] = "ArrowLeft", e[e.ArrowUp = 38] = "ArrowUp", e[e.ArrowRight = 39] = "ArrowRight", e[e.ArrowDown = 40] = "ArrowDown", e }(Ge || {}); const yu = (e, t) => !!t && t.some(i => i.contains(e)), bC = (e, t) => !t || null != function M3(e, t) { return !t || typeof e.closest > "u" ? null : e.closest(t) }(e, t), cH = typeof navigator < "u" && !!navigator.userAgent && (/iPad|iPhone|iPod/.test(navigator.userAgent) || /Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2 || /Android/.test(navigator.userAgent)); function DC(e, t, i, n, r, s, o, a) { i && e.runOutsideAngular((e => cH ? () => setTimeout(() => e(), 100) : e)(() => { const c = Gt(t, "keydown").pipe(Mt(r), ci(g => g.which === Ge.Escape), ED(g => g.preventDefault())), u = Gt(t, "mousedown").pipe(Pt(g => { const _ = g.target; return 2 !== g.button && !yu(_, o) && ("inside" === i ? yu(_, s) && bC(_, a) : "outside" === i ? !yu(_, s) : bC(_, a) || !yu(_, s)) }), Mt(r)), h = Gt(t, "mouseup").pipe(hp(u), ci(([g, _]) => _), function Y2(e, t = bD) { const i = DD(e, t); return SD(() => i) }(0), Mt(r)); CD([c.pipe(Pt(g => 0)), h.pipe(Pt(g => 1))]).subscribe(g => e.run(() => n(g))) })) } const wC = ["a[href]", "button:not([disabled])", 'input:not([disabled]):not([type="hidden"])', "select:not([disabled])", "textarea:not([disabled])", "[contenteditable]", '[tabindex]:not([tabindex="-1"])'].join(", "); function CC(e) { const t = Array.from(e.querySelectorAll(wC)).filter(i => -1 !== i.tabIndex); return [t[0], t[t.length - 1]] } let dH = (() => { var e; class t { constructor(n) { this._element = n.documentElement } isRTL() { return "rtl" === (this._element.getAttribute("dir") || "").toLowerCase() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const fH = /\s+/, hH = / +/gi, pH = { top: ["top"], bottom: ["bottom"], start: ["left", "right"], left: ["left"], end: ["right", "left"], right: ["right"], "top-start": ["top-start", "top-end"], "top-left": ["top-start"], "top-end": ["top-end", "top-start"], "top-right": ["top-end"], "bottom-start": ["bottom-start", "bottom-end"], "bottom-left": ["bottom-start"], "bottom-end": ["bottom-end", "bottom-start"], "bottom-right": ["bottom-end"], "start-top": ["left-start", "right-start"], "left-top": ["left-start"], "start-bottom": ["left-end", "right-end"], "left-bottom": ["left-end"], "end-top": ["right-start", "left-start"], "right-top": ["right-start"], "end-bottom": ["right-end", "left-end"], "right-bottom": ["right-end"] }, _H = /^left/, mH = /^right/, vH = /^start/, yH = /^end/; function SC({ placement: e, baseClass: t }, i) { let n = Array.isArray(e) ? e : e.split(fH), s = n.findIndex(c => "auto" === c); s >= 0 && ["top", "bottom", "start", "end", "top-start", "top-end", "bottom-start", "bottom-end", "start-top", "start-bottom", "end-top", "end-bottom"].forEach(function (c) { null == n.find(u => -1 !== u.search("^" + c)) && n.splice(s++, 1, c) }); const o = n.map(c => function gH(e, t) { const [i, n] = pH[e]; return t && n || i }(c, i.isRTL())); return { placement: o.shift(), modifiers: [{ name: "bootstrapClasses", enabled: !!t, phase: "write", fn({ state: c }) { const u = new RegExp(t + "(-[a-z]+)*", "gi"), h = c.elements.popper, g = c.placement; let _ = h.className; _ = _.replace(u, ""), _ += ` ${function bH(e, t) { let [i, n] = t.split("-"); const r = i.replace(_H, "start").replace(mH, "end"); let s = [r]; if (n) { let o = n; ("left" === i || "right" === i) && (o = o.replace(vH, "top").replace(yH, "bottom")), s.push(`${r}-${o}`) } return e && (s = s.map(o => `${e}-${o}`)), s.join(" ") }(t, g)}`, _ = _.trim().replace(hH, " "), h.className = _ } }, wB, TB, AB, { enabled: !0, name: "flip", options: { fallbackPlacements: o } }, { enabled: !0, name: "preventOverflow", phase: "main", fn: function () { } }] } } function TC(e) { return e } new Date(1882, 10, 12), new Date(2174, 10, 25); let kC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), OH = (() => { var e; class t { constructor() { this.autoClose = !0, this.placement = ["bottom-start", "bottom-end", "top-start", "top-end"], this.popperOptions = n => n } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), ig = (() => { var e; class t { set disabled(n) { this._disabled = "" === n || !0 === n, this._renderer.setProperty(this.elementRef.nativeElement, "disabled", this._disabled) } get disabled() { return this._disabled } constructor(n, r) { this.elementRef = n, this._renderer = r, this._disabled = !1 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownItem", ""]], hostAttrs: [1, "dropdown-item"], hostVars: 3, hostBindings: function (n, r) { 2 & n && (Yn("tabIndex", r.disabled ? -1 : 0), De("disabled", r.disabled)) }, inputs: { disabled: "disabled" }, standalone: !0 }), t })(), rg = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.placement = "bottom", this.isOpen = !1, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownMenu", ""]], contentQueries: function (n, r, s) { if (1 & n && pt(s, ig, 4), 2 & n) { let o; se(o = oe()) && (r.menuItems = o) } }, hostVars: 4, hostBindings: function (n, r) { 1 & n && ce("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Enter", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Space", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && De("dropdown-menu", !0)("show", r.dropdown.isOpen()) }, standalone: !0 }), t })(), Cu = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownAnchor", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0 }), t })(), LC = (() => { var e; class t extends Cu { constructor(n, r) { super(n, r) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownToggle", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 1 & n && ce("click", function () { return r.dropdown.toggle() })("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0, features: [$e([{ provide: Cu, useExisting: ae(() => e) }]), Oe] }), t })(), za = (() => { var e; class t { constructor(n, r, s, o, a, l) { this._changeDetector = n, this._document = s, this._ngZone = o, this._elementRef = a, this._renderer = l, this._destroyCloseHandlers$ = new ee, this._bodyContainer = null, this._open = !1, this.openChange = new Y, this.placement = r.placement, this.popperOptions = r.popperOptions, this.container = r.container, this.autoClose = r.autoClose, this._positioning = function MC() { const e = fe(dH); let t = null; return { createPopper(i) { if (!t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t = QB(i.hostElement, i.targetElement, r) } }, update() { t && t.update() }, setOptions(i) { if (t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t.setOptions(r) } }, destroy() { t && (t.destroy(), t = null) } } }() } ngOnInit() { this.display || (this.display = this._elementRef.nativeElement.closest(".navbar") ? "static" : "dynamic") } ngAfterContentInit() { this._ngZone.onStable.pipe(ui(1)).subscribe(() => { this._applyPlacementClasses(), this._open && this._setCloseHandlers() }) } ngOnChanges(n) { if (n.container && this._open && this._applyContainer(this.container), n.placement && !n.placement.firstChange && (this._positioning.setOptions({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container }), this._applyPlacementClasses()), n.dropdownClass) { const { currentValue: r, previousValue: s } = n.dropdownClass; this._applyCustomDropdownClass(r, s) } n.autoClose && this._open && (this.autoClose = n.autoClose.currentValue, this._setCloseHandlers()) } isOpen() { return this._open } open() { this._open || (this._open = !0, this._applyContainer(this.container), this.openChange.emit(!0), this._setCloseHandlers(), this._anchor && (this._anchor.nativeElement.focus(), "dynamic" === this.display && this._ngZone.runOutsideAngular(() => { this._positioning.createPopper({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container, updatePopperOptions: n => this.popperOptions(function NC(e) { return t => (t.modifiers.push(eV, { name: "offset", options: { offset: () => e } }), t) }([0, 2])(n)) }), this._applyPlacementClasses(), this._zoneSubscription = this._ngZone.onStable.subscribe(() => this._positionMenu()) }))) } _setCloseHandlers() { this._destroyCloseHandlers$.next(), DC(this._ngZone, this._document, this.autoClose, n => { this.close(), 0 === n && this._anchor.nativeElement.focus() }, this._destroyCloseHandlers$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [], ".dropdown-item,.dropdown-divider") } close() { this._open && (this._open = !1, this._resetContainer(), this._positioning.destroy(), this._zoneSubscription?.unsubscribe(), this._destroyCloseHandlers$.next(), this.openChange.emit(!1), this._changeDetector.markForCheck()) } toggle() { this.isOpen() ? this.close() : this.open() } ngOnDestroy() { this.close() } onKeyDown(n) { const r = n.which, s = this._getMenuElements(); let o = -1, a = null; const l = this._isEventFromToggle(n); if (!l && s.length && s.forEach((c, u) => { c.contains(n.target) && (a = c), c === tC(this._document) && (o = u) }), r !== Ge.Space && r !== Ge.Enter) { if (r !== Ge.Tab) { if (l || a) { if (this.open(), s.length) { switch (r) { case Ge.ArrowDown: o = Math.min(o + 1, s.length - 1); break; case Ge.ArrowUp: if (this._isDropup() && -1 === o) { o = s.length - 1; break } o = Math.max(o - 1, 0); break; case Ge.Home: o = 0; break; case Ge.End: o = s.length - 1 }s[o].focus() } n.preventDefault() } } else if (n.target && this.isOpen() && this.autoClose) { if (this._anchor.nativeElement === n.target) return void ("body" !== this.container || n.shiftKey ? n.shiftKey && this.close() : (this._renderer.setAttribute(this._menu.nativeElement, "tabindex", "0"), this._menu.nativeElement.focus(), this._renderer.removeAttribute(this._menu.nativeElement, "tabindex"))); if ("body" === this.container) { const c = this._menu.nativeElement.querySelectorAll(wC); n.shiftKey && n.target === c[0] ? (this._anchor.nativeElement.focus(), n.preventDefault()) : !n.shiftKey && n.target === c[c.length - 1] && (this._anchor.nativeElement.focus(), this.close()) } else Gt(n.target, "focusout").pipe(ui(1)).subscribe(({ relatedTarget: c }) => { this._elementRef.nativeElement.contains(c) || this.close() }) } } else a && (!0 === this.autoClose || "inside" === this.autoClose) && Gt(a, "click").pipe(ui(1)).subscribe(() => this.close()) } _isDropup() { return this._elementRef.nativeElement.classList.contains("dropup") } _isEventFromToggle(n) { return this._anchor.nativeElement.contains(n.target) } _getMenuElements() { const n = this._menu; return null == n ? [] : n.menuItems.filter(r => !r.disabled).map(r => r.elementRef.nativeElement) } _positionMenu() { const n = this._menu; this.isOpen() && n && ("dynamic" === this.display ? (this._positioning.update(), this._applyPlacementClasses()) : this._applyPlacementClasses(this._getFirstPlacement(this.placement))) } _getFirstPlacement(n) { return Array.isArray(n) ? n[0] : n.split(" ")[0] } _resetContainer() { const n = this._renderer; this._menu && n.appendChild(this._elementRef.nativeElement, this._menu.nativeElement), this._bodyContainer && (n.removeChild(this._document.body, this._bodyContainer), this._bodyContainer = null) } _applyContainer(n = null) { if (this._resetContainer(), "body" === n) { const r = this._renderer, s = this._menu.nativeElement, o = this._bodyContainer = this._bodyContainer || r.createElement("div"); r.setStyle(o, "position", "absolute"), r.setStyle(s, "position", "static"), r.setStyle(o, "z-index", "1055"), r.appendChild(o, s), r.appendChild(this._document.body, o) } this._applyCustomDropdownClass(this.dropdownClass) } _applyCustomDropdownClass(n, r) { const s = "body" === this.container ? this._bodyContainer : this._elementRef.nativeElement; s && (r && this._renderer.removeClass(s, r), n && this._renderer.addClass(s, n)) } _applyPlacementClasses(n) { const r = this._menu; if (r) { n || (n = this._getFirstPlacement(this.placement)); const s = this._renderer, o = this._elementRef.nativeElement; s.removeClass(o, "dropup"), s.removeClass(o, "dropdown"); const { nativeElement: a } = r; "static" === this.display ? (r.placement = null, s.setAttribute(a, "data-bs-popper", "static")) : (r.placement = n, s.removeAttribute(a, "data-bs-popper")); const l = -1 !== n.search("^top") ? "dropup" : "dropdown"; s.addClass(o, l); const c = this._bodyContainer; c && (s.removeClass(c, "dropup"), s.removeClass(c, "dropdown"), s.addClass(c, l)) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(OH), v(Kt), v(Se), v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdown", ""]], contentQueries: function (n, r, s) { if (1 & n && (pt(s, rg, 5), pt(s, Cu, 5)), 2 & n) { let o; se(o = oe()) && (r._menu = o.first), se(o = oe()) && (r._anchor = o.first) } }, hostVars: 2, hostBindings: function (n, r) { 2 & n && De("show", r.isOpen()) }, inputs: { autoClose: "autoClose", dropdownClass: "dropdownClass", _open: ["open", "_open"], placement: "placement", popperOptions: "popperOptions", container: "container", display: "display" }, outputs: { openChange: "openChange" }, exportAs: ["ngbDropdown"], standalone: !0, features: [sn] }), t })(), BC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); class Kr { constructor(t, i, n) { this.nodes = t, this.viewRef = i, this.componentRef = n } } let xH = (() => { var e; class t { constructor(n, r) { this._el = n, this._zone = r } ngOnInit() { this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { pn(this._zone, this._el.nativeElement, (n, r) => { r && ho(n), n.classList.add("show") }, { animation: this.animation, runningTransition: "continue" }) }) } hide() { return pn(this._zone, this._el.nativeElement, ({ classList: n }) => n.remove("show"), { animation: this.animation, runningTransition: "stop" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-backdrop"]], hostAttrs: [2, "z-index", "1055"], hostVars: 6, hostBindings: function (n, r) { 2 & n && (Rr("modal-backdrop" + (r.backdropClass ? " " + r.backdropClass : "")), De("show", !r.animation)("fade", r.animation)) }, inputs: { animation: "animation", backdropClass: "backdropClass" }, standalone: !0, features: [Zn], decls: 0, vars: 0, template: function (n, r) { }, encapsulation: 2 }), t })(); class VC { update(t) { } close(t) { } dismiss(t) { } } const RH = ["animation", "ariaLabelledBy", "ariaDescribedBy", "backdrop", "centered", "fullscreen", "keyboard", "scrollable", "size", "windowClass", "modalDialogClass"], PH = ["animation", "backdropClass"]; class FH { _applyWindowOptions(t, i) { RH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } _applyBackdropOptions(t, i) { PH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } update(t) { this._applyWindowOptions(this._windowCmptRef.instance, t), this._backdropCmptRef && this._backdropCmptRef.instance && this._applyBackdropOptions(this._backdropCmptRef.instance, t) } get componentInstance() { if (this._contentRef && this._contentRef.componentRef) return this._contentRef.componentRef.instance } get closed() { return this._closed.asObservable().pipe(Mt(this._hidden)) } get dismissed() { return this._dismissed.asObservable().pipe(Mt(this._hidden)) } get hidden() { return this._hidden.asObservable() } get shown() { return this._windowCmptRef.instance.shown.asObservable() } constructor(t, i, n, r) { this._windowCmptRef = t, this._contentRef = i, this._backdropCmptRef = n, this._beforeDismiss = r, this._closed = new ee, this._dismissed = new ee, this._hidden = new ee, t.instance.dismissEvent.subscribe(s => { this.dismiss(s) }), this.result = new Promise((s, o) => { this._resolve = s, this._reject = o }), this.result.then(null, () => { }) } close(t) { this._windowCmptRef && (this._closed.next(t), this._resolve(t), this._removeModalElements()) } _dismiss(t) { this._dismissed.next(t), this._reject(t), this._removeModalElements() } dismiss(t) { if (this._windowCmptRef) if (this._beforeDismiss) { const i = this._beforeDismiss(); !function Kw(e) { return e && e.then }(i) ? !1 !== i && this._dismiss(t) : i.then(n => { !1 !== n && this._dismiss(t) }, () => { }) } else this._dismiss(t) } _removeModalElements() { const t = this._windowCmptRef.instance.hide(), i = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : ds(void 0); t.subscribe(() => { const { nativeElement: n } = this._windowCmptRef.location; n.parentNode.removeChild(n), this._windowCmptRef.destroy(), this._contentRef && this._contentRef.viewRef && this._contentRef.viewRef.destroy(), this._windowCmptRef = null, this._contentRef = null }), i.subscribe(() => { if (this._backdropCmptRef) { const { nativeElement: n } = this._backdropCmptRef.location; n.parentNode.removeChild(n), this._backdropCmptRef.destroy(), this._backdropCmptRef = null } }), fp(t, i).subscribe(() => { this._hidden.next(), this._hidden.complete() }) } } var Wa = function (e) { return e[e.BACKDROP_CLICK = 0] = "BACKDROP_CLICK", e[e.ESC = 1] = "ESC", e }(Wa || {}); let kH = (() => { var e; class t { constructor(n, r, s) { this._document = n, this._elRef = r, this._zone = s, this._closed$ = new ee, this._elWithFocus = null, this.backdrop = !0, this.keyboard = !0, this.dismissEvent = new Y, this.shown = new ee, this.hidden = new ee } get fullscreenClass() { return !0 === this.fullscreen ? " modal-fullscreen" : Wr(this.fullscreen) ? ` modal-fullscreen-${this.fullscreen}-down` : "" } dismiss(n) { this.dismissEvent.emit(n) } ngOnInit() { this._elWithFocus = this._document.activeElement, this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { this._show() }) } ngOnDestroy() { this._disableEventHandling() } hide() { const { nativeElement: n } = this._elRef, r = { animation: this.animation, runningTransition: "stop" }, a = fp(pn(this._zone, n, () => n.classList.remove("show"), r), pn(this._zone, this._dialogEl.nativeElement, () => { }, r)); return a.subscribe(() => { this.hidden.next(), this.hidden.complete() }), this._disableEventHandling(), this._restoreFocus(), a } _show() { const n = { animation: this.animation, runningTransition: "continue" }; fp(pn(this._zone, this._elRef.nativeElement, (o, a) => { a && ho(o), o.classList.add("show") }, n), pn(this._zone, this._dialogEl.nativeElement, () => { }, n)).subscribe(() => { this.shown.next(), this.shown.complete() }), this._enableEventHandling(), this._setFocus() } _enableEventHandling() { const { nativeElement: n } = this._elRef; this._zone.runOutsideAngular(() => { Gt(n, "keydown").pipe(Mt(this._closed$), ci(s => s.which === Ge.Escape)).subscribe(s => { this.keyboard ? requestAnimationFrame(() => { s.defaultPrevented || this._zone.run(() => this.dismiss(Wa.ESC)) }) : "static" === this.backdrop && this._bumpBackdrop() }); let r = !1; Gt(this._dialogEl.nativeElement, "mousedown").pipe(Mt(this._closed$), ED(() => r = !1), Bu(() => Gt(n, "mouseup").pipe(Mt(this._closed$), ui(1))), ci(({ target: s }) => n === s)).subscribe(() => { r = !0 }), Gt(n, "click").pipe(Mt(this._closed$)).subscribe(({ target: s }) => { n === s && ("static" === this.backdrop ? this._bumpBackdrop() : !0 === this.backdrop && !r && this._zone.run(() => this.dismiss(Wa.BACKDROP_CLICK))), r = !1 }) }) } _disableEventHandling() { this._closed$.next() } _setFocus() { const { nativeElement: n } = this._elRef; if (!n.contains(document.activeElement)) { const r = n.querySelector("[ngbAutofocus]"), s = CC(n)[0]; (r || s || n).focus() } } _restoreFocus() { const n = this._document.body, r = this._elWithFocus; let s; s = r && r.focus && n.contains(r) ? r : n, this._zone.runOutsideAngular(() => { setTimeout(() => s.focus()), this._elWithFocus = null }) } _bumpBackdrop() { "static" === this.backdrop && pn(this._zone, this._elRef.nativeElement, ({ classList: n }) => (n.add("modal-static"), () => n.remove("modal-static")), { animation: this.animation, runningTransition: "continue" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Kt), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-window"]], viewQuery: function (n, r) { if (1 & n && at(BV, 7), 2 & n) { let s; se(s = oe()) && (r._dialogEl = s.first) } }, hostAttrs: ["role", "dialog", "tabindex", "-1"], hostVars: 7, hostBindings: function (n, r) { 2 & n && (Te("aria-modal", !0)("aria-labelledby", r.ariaLabelledBy)("aria-describedby", r.ariaDescribedBy), Rr("modal d-block" + (r.windowClass ? " " + r.windowClass : "")), De("fade", r.animation)) }, inputs: { animation: "animation", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", backdrop: "backdrop", centered: "centered", fullscreen: "fullscreen", keyboard: "keyboard", scrollable: "scrollable", size: "size", windowClass: "windowClass", modalDialogClass: "modalDialogClass" }, outputs: { dismissEvent: "dismiss" }, standalone: !0, features: [Zn], ngContentSelectors: Jw, decls: 4, vars: 2, consts: [["role", "document"], ["dialog", ""], [1, "modal-content"]], template: function (n, r) { 1 & n && (Wf(), j(0, "div", 0, 1)(2, "div", 2), qf(3), U()()), 2 & n && Rr("modal-dialog" + (r.size ? " modal-" + r.size : "") + (r.centered ? " modal-dialog-centered" : "") + r.fullscreenClass + (r.scrollable ? " modal-dialog-scrollable" : "") + (r.modalDialogClass ? " " + r.modalDialogClass : "")) }, styles: ["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"], encapsulation: 2 }), t })(), LH = (() => { var e; class t { constructor(n) { this._document = n } hide() { const n = Math.abs(window.innerWidth - this._document.documentElement.clientWidth), r = this._document.body, s = r.style, { overflow: o, paddingRight: a } = s; if (n > 0) { const l = parseFloat(window.getComputedStyle(r).paddingRight); s.paddingRight = `${l + n}px` } return s.overflow = "hidden", () => { n > 0 && (s.paddingRight = a), s.overflow = o } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), BH = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this._applicationRef = n, this._injector = r, this._environmentInjector = s, this._document = o, this._scrollBar = a, this._rendererFactory = l, this._ngZone = c, this._activeWindowCmptHasChanged = new ee, this._ariaHiddenValues = new Map, this._scrollBarRestoreFn = null, this._modalRefs = [], this._windowCmpts = [], this._activeInstances = new Y, this._activeWindowCmptHasChanged.subscribe(() => { if (this._windowCmpts.length) { const u = this._windowCmpts[this._windowCmpts.length - 1]; ((e, t, i, n = !1) => { e.runOutsideAngular(() => { const r = Gt(t, "focusin").pipe(Mt(i), Pt(s => s.target)); Gt(t, "keydown").pipe(Mt(i), ci(s => s.which === Ge.Tab), hp(r)).subscribe(([s, o]) => { const [a, l] = CC(t); (o === a || o === t) && s.shiftKey && (l.focus(), s.preventDefault()), o === l && !s.shiftKey && (a.focus(), s.preventDefault()) }), n && Gt(t, "click").pipe(Mt(i), hp(r), Pt(s => s[1])).subscribe(s => s.focus()) }) })(this._ngZone, u.location.nativeElement, this._activeWindowCmptHasChanged), this._revertAriaHidden(), this._setAriaHidden(u.location.nativeElement) } }) } _restoreScrollBar() { const n = this._scrollBarRestoreFn; n && (this._scrollBarRestoreFn = null, n()) } _hideScrollBar() { this._scrollBarRestoreFn || (this._scrollBarRestoreFn = this._scrollBar.hide()) } open(n, r, s) { const o = s.container instanceof HTMLElement ? s.container : qr(s.container) ? this._document.querySelector(s.container) : this._document.body, a = this._rendererFactory.createRenderer(null, null); if (!o) throw new Error(`The specified modal container "${s.container || "body"}" was not found in the DOM.`); this._hideScrollBar(); const l = new VC, c = (n = s.injector || n).get(zn, null) || this._environmentInjector, u = this._getContentRef(n, c, r, l, s); let h = !1 !== s.backdrop ? this._attachBackdrop(o) : void 0, g = this._attachWindowComponent(o, u.nodes), _ = new FH(g, u, h, s.beforeDismiss); return this._registerModalRef(_), this._registerWindowCmpt(g), _.hidden.pipe(ui(1)).subscribe(() => Promise.resolve(!0).then(() => { this._modalRefs.length || (a.removeClass(this._document.body, "modal-open"), this._restoreScrollBar(), this._revertAriaHidden()) })), l.close = y => { _.close(y) }, l.dismiss = y => { _.dismiss(y) }, l.update = y => { _.update(y) }, _.update(s), 1 === this._modalRefs.length && a.addClass(this._document.body, "modal-open"), h && h.instance && h.changeDetectorRef.detectChanges(), g.changeDetectorRef.detectChanges(), _ } get activeInstances() { return this._activeInstances } dismissAll(n) { this._modalRefs.forEach(r => r.dismiss(n)) } hasOpenModals() { return this._modalRefs.length > 0 } _attachBackdrop(n) { let r = Ph(xH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector }); return this._applicationRef.attachView(r.hostView), n.appendChild(r.location.nativeElement), r } _attachWindowComponent(n, r) { let s = Ph(kH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector, projectableNodes: r }); return this._applicationRef.attachView(s.hostView), n.appendChild(s.location.nativeElement), s } _getContentRef(n, r, s, o, a) { return s ? s instanceof nt ? this._createFromTemplateRef(s, o) : Wr(s) ? this._createFromString(s) : this._createFromComponent(n, r, s, o, a) : new Kr([]) } _createFromTemplateRef(n, r) { const o = n.createEmbeddedView({ $implicit: r, close(a) { r.close(a) }, dismiss(a) { r.dismiss(a) } }); return this._applicationRef.attachView(o), new Kr([o.rootNodes], o) } _createFromString(n) { const r = this._document.createTextNode(`${n}`); return new Kr([[r]]) } _createFromComponent(n, r, s, o, a) { const c = Ph(s, { environmentInjector: r, elementInjector: Jt.create({ providers: [{ provide: VC, useValue: o }], parent: n }) }), u = c.location.nativeElement; return a.scrollable && u.classList.add("component-host-scrollable"), this._applicationRef.attachView(c.hostView), new Kr([[u]], c.hostView, c) } _setAriaHidden(n) { const r = n.parentElement; r && n !== this._document.body && (Array.from(r.children).forEach(s => { s !== n && "SCRIPT" !== s.nodeName && (this._ariaHiddenValues.set(s, s.getAttribute("aria-hidden")), s.setAttribute("aria-hidden", "true")) }), this._setAriaHidden(r)) } _revertAriaHidden() { this._ariaHiddenValues.forEach((n, r) => { n ? r.setAttribute("aria-hidden", n) : r.removeAttribute("aria-hidden") }), this._ariaHiddenValues.clear() } _registerModalRef(n) { const r = () => { const s = this._modalRefs.indexOf(n); s > -1 && (this._modalRefs.splice(s, 1), this._activeInstances.emit(this._modalRefs)) }; this._modalRefs.push(n), this._activeInstances.emit(this._modalRefs), n.result.then(r, r) } _registerWindowCmpt(n) { this._windowCmpts.push(n), this._activeWindowCmptHasChanged.next(), n.onDestroy(() => { const r = this._windowCmpts.indexOf(n); r > -1 && (this._windowCmpts.splice(r, 1), this._activeWindowCmptHasChanged.next()) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr), L(Jt), L(zn), L(Kt), L(LH), L(mf), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), VH = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.backdrop = !0, this.fullscreen = !1, this.keyboard = !0 } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), HC = (() => { var e; class t { constructor(n, r, s) { this._injector = n, this._modalStack = r, this._config = s } open(n, r = {}) { const s = { ...this._config, animation: this._config.animation, ...r }; return this._modalStack.open(this._injector, n, s) } get activeInstances() { return this._modalStack.activeInstances } dismissAll(n) { this._modalStack.dismissAll(n) } hasOpenModals() { return this._modalStack.hasOpenModals() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt), L(BH), L(VH)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), UC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [HC] }), t })(), GC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), KC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), eE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), tE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), nE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), iE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), rE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), sE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), oE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); new W("live announcer delay", { providedIn: "root", factory: function iU() { return 100 } }); let aE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), lE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const sU = [dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE]; let oU = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [sU, dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE] }), t })(); const aU = ["ddbut"]; function lU(e, t) { if (1 & e && (j(0, "button", 8), Be(1, "i", null, 9), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.element.id), R(3), jt(i.label) } } let cU = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.attributeService = n, this.cd = r, this.frontendService = s, this.elementLookupService = a, this.callbackHelperService = l, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.dropDownMenuItems = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new uU(r, n); this.elementLookupService.addElementObject(n.id, s, n), this.dropDownMenuItems.push(s), this.cd.detectChanges(); let o = document.getElementById(n.id); if (null != o) { s.setHtmlElement(o), s.setAttributes(n.attributes), this.callbackHelperService.setCallbacks(o, n.when); let a = o.children.item(0); null != a && this.attributeService.addClasses(a, n.attributes, ["fa"], [], "icon") } }), this.cd.detectChanges(), this.setAttributes(this.element.attributes)) } setAttributes(n) { let r = this.attributeService.findAttribute("selected", n); null != r && (this.buttonLabel = r.value); let s = this.ddbut.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, ["btn"], ["btn-outline-dark"]), s.style.border_color = this.attributeService.findGetAttributeValue("border_color", n, "black"), this.cd.detectChanges() } onClick(n) { this.frontendService.operationPost(n.when[0]) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(gt), v(Bn), v(Kt), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-dropdown-menu"]], viewQuery: function (n, r) { if (1 & n && at(aU, 7), 2 & n) { let s; se(s = oe()) && (r.ddbut = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 9, vars: 3, consts: [[2, "display", "table", "min-height", "100%", "min-width", "100%"], [2, "display", "table-row", "min-width", "100%"], [2, "display", "table-cell", "vertical-align", "middle", "text-align", "center"], ["ngbDropdown", "", 1, "d-inline-block"], ["type", "button", "ngbDropdownToggle", "", "ata-toggle", "dropdown", "aria-haspopup", "true", "aria-expanded", "false", 3, "id"], ["ddbut", ""], ["ngbDropdownMenu", ""], ["ngbDropdownItem", "", 3, "id", 4, "ngFor", "ngForOf"], ["ngbDropdownItem", "", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4, 5), qe(6), U(), j(7, "div", 6), B(8, lU, 4, 2, "button", 7), U()()()()()), 2 & n && (R(4), Pn("id", null == r.element ? null : r.element.id), R(2), Ri(" ", r.buttonLabel, " "), R(2), x("ngForOf", r.dropDownMenuItems)) }, dependencies: [kn, za, LC, rg, ig] }), t })(); class uU { constructor(t, i) { this.htmlElement = null, this.label = t, this.element = i } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { if (null != this.htmlElement) { let i = $t.injector.get(Tn); i.addAttributes(this.htmlElement, t), i.textAttributes(this.htmlElement, t), i.setAttributesDirectly(this.htmlElement, t), i.addClasses(this.htmlElement, t, ["dropdown-item"], []) } } } const dU = ["label"], fU = ["middleDiv"], hU = ["outerDiv"]; let pU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.elementLabel = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.callbackService.setCallbacks(this.label.nativeElement, this.element.when), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("label", n); null != r && (this.elementLabel = r.value); let s = this.label.nativeElement, o = this.middleDiv.nativeElement, a = this.outerDiv.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, [], []), this.setOuterDivStyles(a), this.setMiddleDivStyle(o), this.setParagraphStyle(s), this.cd.detectChanges() } setOuterDivStyles(n) { n.style.display = "table", n.style.minHeight = "100%", n.style.minWidth = "100%", n.style.overflow = "hidden" } setMiddleDivStyle(n) { n.style.minWidth = "100%", n.style.display = "table-row" } setParagraphStyle(n) { n.style.display = "table-cell", n.style.verticalAlign = "middle", n.style.textAlign = "center" } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-label"]], viewQuery: function (n, r) { if (1 & n && (at(dU, 7), at(fU, 7), at(hU, 7)), 2 & n) { let s; se(s = oe()) && (r.label = s.first), se(s = oe()) && (r.middleDiv = s.first), se(s = oe()) && (r.outerDiv = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 6, vars: 1, consts: [["outerDiv", ""], ["middleDiv", ""], [3, "innerHTML"], ["label", ""]], template: function (n, r) { 1 & n && (j(0, "div", null, 0)(2, "div", null, 1), Be(4, "p", 2, 3), U()()), 2 & n && (R(4), x("innerHTML", r.elementLabel, Lm)) } }), t })(); const gU = ["theButton"]; let _U = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.disabledAttribute = !1 } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theButton.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.buttonLabel = this.attributeService.findGetAttributeValue("label", n, ""); let r = this.theButton.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addClasses(r, n, ["btn"], ["btn-info"]), this.attributeService.addGeneralAttributes(r, n), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = r.children.item(0); this.attributeService.addClasses(s, n, ["fa"], [], "icon"); let o = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == o ? this.disabledAttribute = !1 : "true" == o ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(o), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-button"]], viewQuery: function (n, r) { if (1 & n && at(gU, 5), 2 & n) { let s; se(s = oe()) && (r.theButton = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 5, vars: 2, consts: [["type", "button"], ["theButton", ""], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "button", 0, 1), Be(2, "i", null, 2), qe(4), U()), 2 & n && (Te("disabled", !!r.disabledAttribute || null), R(4), jt(r.buttonLabel)) } }), t })(); var mU = Ve(7); const vU = ["theImage"], yU = ["svgContainer"]; function bU(e, t) { if (1 & e && (j(0, "div"), Be(1, "img", 1, 2), U()), 2 & e) { const i = z(); R(1), x("src", i.imageSource, Jd) } } function DU(e, t) { 1 & e && Be(0, "div", null, 3) } let wU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.imageSource = "", this.imageType = "" } ngAfterViewInit() { if (null != this.element) { this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findAttribute("image", this.element.attributes), r = this.attributeService.findAttribute("image_type", this.element.attributes); null != n && null != r && r.value.startsWith("clingraph") ? this.svgImageHandler(this.element, n, r) : this.defaultImageHandler(this.element, n), this.cd.detectChanges() } } setAttributes(n) { console.log("TODO?") } svgImageHandler(n, r, s) { const a = /\(([^,]+),\s*([^)]+)\)/; this.imageType = "svg", this.cd.detectChanges(); let l = mU.lW.from(r.value, "base64").toString("binary"); this.svgContainer.nativeElement.innerHTML = l, this.cd.detectChanges(); let c = this.svgContainer.nativeElement.querySelectorAll(".node, .edge"), u = []; n.children.forEach(g => { let _ = this.attributeService.findAttribute("clingraph_id", g.attributes); if (null != _) { let y = _.value; if ("svg_edge" == g.type) { const b = y.match(a); if (b) { y = b[1].replaceAll('"', "") + "--" + b[2].replaceAll('"', ""); let D = b[1].replaceAll('"', "") + "->" + b[2].replaceAll('"', ""); u.push({ key: D, value: g }) } else console.error("Invalid edge format expected a tuple (X,Y) but got ", y) } u.push({ key: y, value: g }) } }); let h = this.generateSvgNodeUiNodeAssociationList(c, u); this.addEventListeners(h), this.cd.detectChanges() } generateSvgNodeUiNodeAssociationList(n, r) { let s = []; return n.forEach(o => { let a = null; r.forEach(l => { if (o.id == l.key) a = l.value; else for (const c of Array.from(o.children)) "title" == c.tagName && c.innerHTML == l.key && (a = l.value) }), null != a ? (this.elementLookupService.addElementTagHTML(a.id, o, a), s.push({ svg: o, ui: a })) : console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!") }), s } addEventListeners(n) { n.forEach(r => { this.callbackService.setCallbacks(r.svg, r.ui.when) }) } defaultImageHandler(n, r) { this.imageType = "normal", this.cd.detectChanges(); let s = this.theImage.nativeElement; this.attributeService.addAttributes(s, n.attributes), this.attributeService.textAttributes(s, n.attributes), this.attributeService.setAttributesDirectly(s, n.attributes), this.callbackService.setCallbacks(s, n.when); let o = this.attributeService.findAttribute("image_path", n.attributes); null != r ? this.imageSource = "data:image/png;base64," + r.value : null != o && (this.imageSource = o.value) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-canvas"]], viewQuery: function (n, r) { if (1 & n && (at(vU, 5), at(yU, 5)), 2 & n) { let s; se(s = oe()) && (r.theImage = s.first), se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "src"], ["theImage", ""], ["svgContainer", ""]], template: function (n, r) { 1 & n && (B(0, bU, 3, 1, "div", 0), B(1, DU, 2, 0, "div", 0)), 2 & n && (x("ngIf", "normal" == r.imageType), R(1), x("ngIf", "svg" == r.imageType)) }, dependencies: [Ln] }), t })(), CU = (() => { var e; class t { constructor() { } toUserInputASP(n, r, s, o, a) { return `user_input(${n},${r},${s},${o},${a})` } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const EU = ["svgContainer"]; function SU(e, t) { if (1 & e && Be(0, "textarea", 13), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name) } } function TU(e, t) { if (1 & e) { const i = Dn(); j(0, "input", 14), ce("click", function (r) { return on(i), an(z(2).checkClick(r)) }), U() } if (2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_checkbox_" + n.currID), x("formControlName", i.name) } } function MU(e, t) { if (1 & e && Be(0, "input", 15), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("type", i.type)("formControlName", i.name) } } function IU(e, t) { if (1 & e && (j(0, "option", 17), qe(1), U()), 2 & e) { const i = t.$implicit; Pn("value", i), R(1), jt(i) } } function NU(e, t) { if (1 & e && (j(0, "select", 13), B(1, IU, 2, 2, "option", 16), U()), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name), R(1), x("ngForOf", n.retrieveSelectOptions(i)) } } function AU(e, t) { if (1 & e && (j(0, "div")(1, "label"), qe(2), U(), Be(3, "br"), B(4, SU, 1, 2, "textarea", 10), B(5, TU, 1, 2, "input", 11), B(6, MU, 1, 3, "input", 12), B(7, NU, 2, 3, "select", 10), U()), 2 & e) { const i = t.$implicit; R(2), jt(i.name), R(2), x("ngIf", "textarea" == i.type), R(1), x("ngIf", "checkbox" == i.type), R(1), x("ngIf", "textarea" != i.type && "checkbox" != i.type && "select" != i.type), R(1), x("ngIf", "select" == i.type) } } function OU(e, t) { if (1 & e && (j(0, "h2", 18), qe(1), U()), 2 & e) { const i = z(); R(1), jt(i.errStr) } } function xU(e, t) { 1 & e && (j(0, "h2"), qe(1, "No graph was created from your request."), U()) } let RU = (() => { var e; class t { constructor(n, r, s, o, a) { this.attributeService = n, this.frontendService = r, this.fb = s, this.cd = o, this.aspService = a, this.element = null, this.optionsForm = new Hr({}), this.svgString = "", this.type = "", this.nodeOptionsList = [], this.currID = "", this.optionsList = [], this.errStr = "" } ngAfterViewInit() { if (null != this.element) { let n = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes); if (null != n) { let r = n; this.svgString = r.data, this.svgContainer.nativeElement.innerHTML = this.svgString, this.nodeOptionsList = r.option_data, console.log("NodeOptions after init:", this.nodeOptionsList), console.log("form after init: ", this.optionsForm), this.cd.detectChanges() } } } retrieveSelectOptions(n) { return "options" in n ? n.options : [] } handleNodeClick(n) { let r = n.target, s = r.parentNode; if (null !== s && "g" == s.nodeName) { let o = s.getElementsByTagName("title")[0]; if (null !== o) { const a = o.textContent; null !== a && "" !== a && (s.id.startsWith("node") ? (this.type = "node", this.updateOptions(a, "node")) : r.id.startsWith("edge") && (this.type = "edge", this.updateOptions(a, "edge"))) } } } checkClick(n) { console.log("clicked box"); let r = n.target; console.log(r.getAttribute("value")), console.log(r.getAttribute("checked")), console.log("form: ", this.optionsForm) } updateOptions(n, r) { this.optionsList.forEach(o => { o.state = this.optionsForm.value[o.name] }), this.currID = n; let s = this.nodeOptionsList.filter(o => o.id == n && o.compType == r); if (1 != s.length) console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`), this.errStr = `Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`; else { this.optionsList = s.map(a => a.options).flat(); let o = new Hr({}); this.optionsList.forEach(a => { o.addControl(a.name, new jr("checkbox" == a.type ? "true" == a.state || 1 == a.state : a.state)) }), this.optionsForm = o, console.log("form after update: ", this.optionsForm), console.log(this.nodeOptionsList) } } submitForm() { this.errStr = ""; let n = [], r = this.optionsForm.value; console.log("Form: ", r), this.optionsList.forEach(a => { a.state = r[a.name] }), this.nodeOptionsList.forEach(a => { a.options.forEach(l => { n.push(this.aspService.toUserInputASP(a.compType, a.id, l.type, l.name, l.state)) }) }); let o = { function: `graphUpdate(${n.join(",")})` }; console.log(o), this.frontendService.uncheckedPost(o) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(Bn), v(ZL), v(gt), v(CU)) }, e.\u0275cmp = et({ type: e, selectors: [["app-main-page"]], viewQuery: function (n, r) { if (1 & n && at(EU, 5), 2 & n) { let s; se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element" }, decls: 13, vars: 4, consts: [[1, "row"], [1, "col", "left", 2, "flex-grow", "1"], [3, "formGroup", "ngSubmit"], [4, "ngFor", "ngForOf"], ["type", "submit", "value", "Submit"], [1, "col", "right", 2, "overflow", "scroll", "flex-grow", "10"], ["style", "color: red;", 4, "ngIf"], [3, "click"], ["svgContainer", ""], [4, "ngIf"], [3, "id", "formControlName", 4, "ngIf"], ["type", "checkbox", 3, "id", "formControlName", "click", 4, "ngIf"], [3, "id", "type", "formControlName", 4, "ngIf"], [3, "id", "formControlName"], ["type", "checkbox", 3, "id", "formControlName", "click"], [3, "id", "type", "formControlName"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [2, "color", "red"]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "label"), qe(3, "OPTIONS"), U(), Be(4, "br"), j(5, "form", 2), ce("ngSubmit", function () { return r.submitForm() }), B(6, AU, 8, 5, "div", 3), Be(7, "input", 4), U()(), j(8, "div", 5), B(9, OU, 2, 1, "h2", 6), j(10, "div", 7, 8), ce("click", function (o) { return r.handleNodeClick(o) }), U(), B(12, xU, 2, 0, "h2", 9), U()()), 2 & n && (R(5), x("formGroup", r.optionsForm), R(1), x("ngForOf", r.optionsList), R(3), x("ngIf", r.errStr.length > 0), R(3), x("ngIf", r.svgString.length <= 0)) }, dependencies: [kn, Ln, dw, yw, Dw, Qc, pp, cu, JD, QD, lu, Ap], styles: ['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}'] }), t })(); const PU = ["theTextfield"]; let FU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.placeholder = "", this.disabledAttribute = !1, this.inputType = "text" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theTextfield.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.placeholder = this.attributeService.findGetAttributeValue("placeholder", n, ""), this.inputType = this.attributeService.findGetAttributeValue("input_type", n, "text"); let r = this.theTextfield.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addGeneralAttributes(r, n), this.attributeService.addClasses(r, n, [], []), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == s ? this.disabledAttribute = !1 : "true" == s ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(s), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-textfield"]], viewQuery: function (n, r) { if (1 & n && at(PU, 5), 2 & n) { let s; se(s = oe()) && (r.theTextfield = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 3, vars: 3, consts: [[1, "input-group"], ["aria-describedby", "basic-addon1", 1, "form-control", 3, "placeholder", "type"], ["theTextfield", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0), Be(1, "input", 1, 2), U()), 2 & n && (R(1), Pn("type", r.inputType), x("placeholder", r.placeholder), Te("disabled", !!r.disabledAttribute || null)) } }), t })(); const kU = ["child"], LU = ["content"]; function BU(e, t) { if (1 & e) { const i = Dn(); j(0, "div", 1)(1, "h4", 2), qe(2), U(), j(3, "button", 3), ce("click", function () { return an(on(i).$implicit.dismiss("Cross click")) }), U()(), j(4, "div", 4), Be(5, "app-container", 5), U() } if (2 & e) { const i = z(); R(2), jt(i.modalTitle), R(3), x("element", i.element)("parentLayout", i.parentLayout) } } let cE = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.modalService = a, this.modalRefService = l, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.modalTitle = "", this.modalRef = null, this.closeResult = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("visible", n), s = this.attributeService.findAttribute("title", n), o = this.attributeService.findAttribute("size", n); if (null != s && (this.modalTitle = s.value), null != r && null != this.element) { if ("shown" != r.value && "visible" != r.value || null != this.modalRef) null != this.modalRef && ("hidden" == r.value || "collapse" == r.value) && this.modalRef.close(); else { null != o && console.log(o.value); let a = null; a = null != o ? { ariaLabelledBy: "modal-basic-title", size: o.value } : { ariaLabelledBy: "modal-basic-title" }, this.modalRef = this.modalService.open(this.content, a), this.modalRefService.registerModal(this.element.id, this.modalRef), this.modalRef.result.then(l => { if (this.closeResult = `Closed with: ${l}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } this.modalRef = null }, l => { if (this.closeResult = `Dismissed ${this.getDismissReason(l)}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } null != this.element && this.modalRefService.removeModalByKey(this.element.id), this.modalRef = null }) } this.cd.detectChanges() } } getDismissReason(n) { return n === Wa.ESC ? "by pressing ESC" : n === Wa.BACKDROP_CLICK ? "by clicking on a backdrop" : `with: ${n}` } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt), v(HC), v(lD)) }, e.\u0275cmp = et({ type: e, selectors: [["app-modal"]], viewQuery: function (n, r) { if (1 & n && (at(kU, 5, Cn), at(LU, 5, nt)), 2 & n) { let s; se(s = oe()) && (r.child = s.first), se(s = oe()) && (r.content = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["content", ""], [1, "modal-header"], ["id", "modal-basic-title", 1, "modal-title"], ["type", "button", "aria-label", "Close", 1, "btn-close", 3, "click"], [1, "modal-body"], [3, "element", "parentLayout"]], template: function (n, r) { 1 & n && B(0, BU, 6, 3, "ng-template", null, 0, En) } }), t })(), VU = (() => { var e; class t { constructor() { } componentCreation(n, r) { let s = [{ key: "container", value: cD }, { key: "dropdown_menu", value: cU }, { key: "label", value: pU }, { key: "button", value: _U }, { key: "canvas", value: wU }, { key: "clingraph_interactive", value: RU }, { key: "textfield", value: FU }, { key: "modal", value: cE }], o = null, a = s.findIndex(l => l.key == r); return a >= 0 && (o = n.createComponent(s[a].value)), null == o && "menu_bar" != r && "context_menu" != r && "message" != r && console.log("Could not associate component key with an component: " + r), o } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Su = (() => { var e; class t { constructor(n, r, s) { this.componentService = n, this.elementLookupService = r, this.attributeService = s } bearChild(n, r, s) { let o = this.componentService.componentCreation(n, r.type); if (null != o) { o.setInput("element", r), o.setInput("parentLayout", s); let a = o.location.nativeElement; a.id = r.id, this.elementLookupService.addElementTagHTML(r.id, a, r), this.setAllTagAttributes(a, r, s) } return o } setAllTagAttributes(n, r, s) { "button" != r.type && this.attributeService.setAbsoulteRelativePositions(s, n, r), this.setChildTagAttributes(n, r) } setChildTagAttributes(n, r) { this.attributeService.setAttributesDirectly(n, r.attributes), this.attributeService.addGeneralAttributes(n, r.attributes), this.attributeService.addAttributes(n, r.attributes), "container" == r.type && (this.attributeService.setChildLayout(n, r.attributes), this.attributeService.setVisibility(n, r.attributes), this.attributeService.addClasses(n, r.attributes, [], ["p-2"])) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(VU), L(Xt), L(Tn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function HU(e, t) { if (1 & e) { const i = Dn(); j(0, "ngb-alert", 1), ce("closed", function () { return on(i), an(z().messageClosed()) }), j(1, "strong"), qe(2), U(), qe(3), U() } if (2 & e) { const i = z(); x("type", i.attrType)("dismissible", !0), R(2), jt(i.attrTitle), R(1), Ri(" ", i.attrMessage, "\n") } } let UU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.attrType = "", this.attrMessage = "", this.attrTitle = "", this.visible = "shown" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findGetAttributeValue("type", n, "warning"), s = this.attributeService.findGetAttributeValue("title", n, ""), o = this.attributeService.findGetAttributeValue("message", n, ""); this.visible = this.attributeService.findGetAttributeValue("visible", n, "shown"), "error" == r && (r = "danger"), this.attrType = r, this.attrTitle = s, this.attrMessage = o, this.cd.detectChanges() } messageClosed() { this.visible = "hidden", this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-message"]], inputs: { element: "element" }, decls: 1, vars: 1, consts: [[3, "type", "dismissible", "closed", 4, "ngIf"], [3, "type", "dismissible", "closed"]], template: function (n, r) { 1 & n && B(0, HU, 4, 4, "ngb-alert", 0), 2 & n && x("ngIf", "shown" == r.visible) }, dependencies: [Ln, j3] }), t })(); function jU(e, t) { if (1 & e && (j(0, "li", 2)(1, "a"), Be(2, "i", 3), qe(3), U()()), 2 & e) { const i = t.$implicit; x("id", i.id), R(3), jt(i.text) } } let $U = (() => { var e; class t { constructor(n, r, s) { this.cd = n, this.attributeService = r, this.callbackService = s, this.element = null, this.menuId = "", this.buttonList = [] } ngAfterViewInit() { null != this.element && (this.menuId = "menu-" + this.element.id, this.element.children.forEach(n => { let r = n.id, s = this.attributeService.findGetAttributeValue("label", n.attributes, ""); this.buttonList.push({ id: r, text: s, attributes: n.attributes }) }), this.cd.detectChanges(), this.element.children.forEach(n => { let r = document.getElementById(n.id); null != r && this.callbackService.setCallbacks(r, n.when) }), this.cd.detectChanges(), this.buttonList.forEach(n => { let r = document.getElementById(n.id); if (null != r) { this.attributeService.addClasses(r, n.attributes, ["list-group-item", "list-group-item-action"], []); let s = r.children.item(0); if (null != s) { let o = s.children.item(0); null != o && this.attributeService.addClasses(o, n.attributes, ["fa"], [], "icon") } } })) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Tn), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-context-menu"]], inputs: { element: "element" }, decls: 2, vars: 1, consts: [["id", "menuId", 1, "list-group"], [3, "id", 4, "ngFor", "ngForOf"], [3, "id"], ["aria-hidden", "true", 1, "fa"]], template: function (n, r) { 1 & n && (j(0, "ul", 0), B(1, jU, 4, 2, "li", 1), U()), 2 & n && (R(1), x("ngForOf", r.buttonList)) }, dependencies: [kn], styles: [".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"] }), t })(); const GU = ["parent"], zU = ["child"]; function WU(e, t) { } function qU(e, t) { 1 & e && (j(0, "div", 5, 6), B(2, WU, 0, 0, "ng-template", null, 7, En), U()), 2 & e && Pn("id", z().window_id) } function YU(e, t) { 1 & e && Be(0, "app-message", 10), 2 & e && x("element", t.$implicit) } function ZU(e, t) { if (1 & e && (j(0, "div", 8), B(1, YU, 1, 1, "app-message", 9), U()), 2 & e) { const i = z(); R(1), x("ngForOf", i.messageList) } } function JU(e, t) { if (1 & e && Be(0, "app-context-menu", 11), 2 & e) { const i = t.$implicit; x("id", i.id)("element", i) } } let QU = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this.childBearerService = n, this.attributeService = r, this.cd = s, this.frontendService = o, this.elementLookupService = a, this.contextMenuService = l, this.callbackService = c, this.element = null, this.children = [], this.window_id = "", this.window = null, this.menuBar = null, this.messageList = [], this.contextMenuList = [] } ngAfterViewInit() { this.frontendService.messageLists.subscribe({ next: n => { this.messageList = n, this.cd.detectChanges() } }), this.frontendService.frontendJson.subscribe({ next: n => { this.children.forEach(l => { this.child.clear() }), this.children = [], this.cleanValues(n), this.frontendService.detectCreateMenuBar(n); let r = [], s = []; this.frontendService.getAllMessagesContextMenus(n, r, s), this.frontendService.messageLists.next(r), this.frontendService.contextMenus.subscribe(l => { l.forEach(c => { this.contextMenuService.registerContextMenu(c.id, c) }), this.contextMenuList = l }), this.frontendService.contextMenus.next(s); let o = n.children[0]; this.window_id = o.id, this.element = o, this.window = o, this.cd.detectChanges(); let a = this.attributeService.findGetAttributeValue("child_layout", o.attributes, "flex"); this.elementLookupService.addElementAll(this.window_id, this, this.parent.nativeElement, o), o.children.forEach(l => { let c = this.childBearerService.bearChild(this.child, l, a); null != c && this.children.push(c) }), this.setAttributes(o.attributes), this.doCallbacks(o.when), this.cd.detectChanges() }, error: n => console.log(n) }), this.frontendService.initialGet() } setAttributes(n) { let r = this.parent.nativeElement; this.attributeService.setChildLayout(r, n), this.attributeService.addAttributes(r, n), this.attributeService.addClasses(r, n, [], []), this.cd.detectChanges() } doCallbacks(n) { this.callbackService.setCallbacks(this.parent.nativeElement, n) } cleanValues(n) { for (let r = 0; r < n.attributes.length; r++) { let s = n.attributes[r].value; s = this.stringSanitizer(s), n.attributes[r].value = s; let o = n.attributes[r].key; o = this.stringSanitizer(o), n.attributes[r].key = o, "image" != o && (s = s.replace("\\n", "
")) } for (let r = 0; r < n.when.length; r++) { void 0 !== n.when[r].event && (n.when[r].actionType = n.when[r].event), void 0 !== n.when[r].interaction_type && (n.when[r].interactionType = n.when[r].interaction_type); let s = n.when[r].operation; s = this.stringSanitizer(s), n.when[r].operation = s; let o = n.when[r].actionType; o = this.stringSanitizer(o), n.when[r].actionType = o; let a = n.when[r].interactionType; a = this.stringSanitizer(a), n.when[r].interactionType = a } n.children.forEach(r => { this.cleanValues(r) }) } stringSanitizer(n) { return null == n || (n.length > 0 && '"' == n[0] && (n = n.slice(1)), n.length > 0 && '"' == n[n.length - 1] && (n = n.slice(0, -1))), n } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(Tn), v(gt), v(Bn), v(Xt), v(Ma), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-new-main"]], viewQuery: function (n, r) { if (1 & n && (at(GU, 5), at(zU, 5, Cn)), 2 & n) { let s; se(s = oe()) && (r.parent = s.first), se(s = oe()) && (r.child = s.first) } }, decls: 5, vars: 3, consts: [["style", "margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;", 3, "id", 4, "ngIf"], ["id", "loader", 1, "myspinner", "clearfix", "p-3"], ["role", "status", 1, "spinner-border", "text-black", "float-end"], ["style", "position: fixed; bottom:0;", 4, "ngIf"], ["style", "display: none; position: absolute;", 3, "id", "element", 4, "ngFor", "ngForOf"], [2, "margin-top", "5px", "margin-bottom", "10px", "margin-right", "10px", "margin-left", "15px", 3, "id"], ["parent", ""], ["child", ""], [2, "position", "fixed", "bottom", "0"], [3, "element", 4, "ngFor", "ngForOf"], [3, "element"], [2, "display", "none", "position", "absolute", 3, "id", "element"]], template: function (n, r) { 1 & n && (B(0, qU, 4, 1, "div", 0), j(1, "div", 1), Be(2, "div", 2), U(), B(3, ZU, 2, 1, "div", 3), B(4, JU, 1, 2, "app-context-menu", 4)), 2 & n && (x("ngIf", null != r.window), R(3), x("ngIf", null != r.window), R(1), x("ngForOf", r.contextMenuList)) }, dependencies: [kn, Ln, UU, $U] }), t })(); const KU = ["titleIcon"]; function XU(e, t) { if (1 & e && (j(0, "button", 4), Be(1, "i", null, 5), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.id), R(3), Ri(" ", i.title, "") } } let ej = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.cd = n, this.displayFrontend = r, this.callbackService = s, this.attributeService = o, this.elementLookupService = a, this.callBackHelperService = l, this.element = null, this.isCollapsed = !0, this.title = "", this.menuBarButtons = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new tj(n.id, r, n); this.elementLookupService.addElementObject(n.id, s, n), this.menuBarButtons.push(s) }), this.cd.detectChanges(), this.menuBarButtons.forEach(n => { let r = document.getElementById(n.id); if (null != r) { n.setHtmlElement(r), n.setAttributes(n.element.attributes), this.attributeService.addClasses(r, n.element.attributes, ["btn-sm", "mx-1"], ["btn-outline-dark", "border-0"]), this.callBackHelperService.setCallbacks(r, n.element.when); let s = r.children.item(0); null != s && this.attributeService.addClasses(s, n.element.attributes, ["fa"], [], "icon") } }), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("title", n); null != r && (this.title = r.value), this.attributeService.addClasses(this.titleIcon.nativeElement, n, ["fa"], [], "icon"), this.cd.detectChanges() } operationExecutor(n) { null != n && this.displayFrontend.operationPost(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Bn), v(Fi), v(Tn), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-menu-bar"]], viewQuery: function (n, r) { if (1 & n && at(KU, 5), 2 & n) { let s; se(s = oe()) && (r.titleIcon = s.first) } }, inputs: { element: "element" }, decls: 7, vars: 2, consts: [[1, "navbar", "navbar-expand", "bg-light", "justify-content-between"], [1, "navbar-brand", "mx-3", "text-dark"], ["titleIcon", ""], ["type", "button", "class", "btn", 3, "id", 4, "ngFor", "ngForOf"], ["type", "button", 1, "btn", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "nav", 0)(1, "a", 1), Be(2, "i", null, 2), qe(4), U(), j(5, "div"), B(6, XU, 4, 2, "button", 3), U()()), 2 & n && (R(4), Ri(" ", r.title, " "), R(2), x("ngForOf", r.menuBarButtons)) }, dependencies: [kn] }), t })(); class tj { constructor(t, i, n) { this.id = "", this.title = "", this.htmlElement = null, this.id = t, this.title = i, this.element = n } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { let i = t.find(n => "label" == n.key); this.title = null != i ? i.value : "" } } const nj = ["contentWrapper"]; function ij(e, t) { 1 & e && Be(0, "app-menu-bar", 3), 2 & e && x("element", z().menuBar) } let rj = (() => { var e; class t { constructor(n, r, s) { this.frontendService = n, this.cd = r, this.elementLookupService = s, this.title = "Clinguin", this.menuBar = null, this.messageList = [] } ngAfterViewInit() { this.frontendService.menuBar.subscribe({ next: n => { this.menuBar = null, this.cd.detectChanges(), this.menuBar = n, this.cd.detectChanges() } }), this.contentWrapper.nativeElement.addEventListener("click", function () { $t.injector.get(Xt).elementLookup.forEach(r => { "menu_bar_section" == r.element.type && null != r.object && "collapsed" in r.object && 0 == r.object.collapsed && (r.object.collapsed = !0) }) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Bn), v(gt), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-root"]], viewQuery: function (n, r) { if (1 & n && at(nj, 5), 2 & n) { let s; se(s = oe()) && (r.contentWrapper = s.first) } }, decls: 4, vars: 1, consts: [[3, "element", 4, "ngIf"], [1, "content-wrapper"], ["contentWrapper", ""], [3, "element"]], template: function (n, r) { 1 & n && (B(0, ij, 1, 1, "app-menu-bar", 0), j(1, "div", 1, 2), Be(3, "app-new-main"), U()), 2 & n && x("ngIf", null != r.menuBar) }, dependencies: [Ln, QU, ej], styles: ["div.content-wrapper[_ngcontent-%COMP%]{padding-top:1%}"] }), t })(); function sj(e) { return () => e.load() } let oj = (() => { var e; class t { constructor(n) { this.injector = n, $t.injector = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275mod = Pe({ type: e, bootstrap: [rj] }), e.\u0275inj = Ae({ providers: [{ provide: D1, useFactory: sj, deps: [aD], multi: !0 }], imports: [Hk, QL, JL, yb, v2, oU, Yp] }), t })(); (function zg(e, t, i) { const n = e.\u0275cmp; n.directiveDefs = al(t, !1), n.pipeDefs = al(i, !0) })(cE, [cD], []), Bk().bootstrapModule(oj).catch(e => console.error(e)) }, 919: (_i, qt) => { "use strict"; qt.byteLength = function He(Z) { var le = ye(Z), Qe = le[1]; return 3 * (le[0] + Qe) / 4 - Qe }, qt.toByteArray = function ut(Z) { var le, Ct, be = ye(Z), Qe = be[0], Ke = be[1], xe = new ct(function M(Z, le, be) { return 3 * (le + be) / 4 - be }(0, Qe, Ke)), It = 0, en = Ke > 0 ? Qe - 4 : Qe; for (Ct = 0; Ct < en; Ct += 4)le = $[Z.charCodeAt(Ct)] << 18 | $[Z.charCodeAt(Ct + 1)] << 12 | $[Z.charCodeAt(Ct + 2)] << 6 | $[Z.charCodeAt(Ct + 3)], xe[It++] = le >> 16 & 255, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le; return 2 === Ke && (le = $[Z.charCodeAt(Ct)] << 2 | $[Z.charCodeAt(Ct + 1)] >> 4, xe[It++] = 255 & le), 1 === Ke && (le = $[Z.charCodeAt(Ct)] << 10 | $[Z.charCodeAt(Ct + 1)] << 4 | $[Z.charCodeAt(Ct + 2)] >> 2, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le), xe }, qt.fromByteArray = function wt(Z) { for (var le, be = Z.length, Qe = be % 3, Ke = [], It = 0, en = be - Qe; It < en; It += 16383)Ke.push(dt(Z, It, It + 16383 > en ? en : It + 16383)); return 1 === Qe ? Ke.push(Ve[(le = Z[be - 1]) >> 2] + Ve[le << 4 & 63] + "==") : 2 === Qe && Ke.push(Ve[(le = (Z[be - 2] << 8) + Z[be - 1]) >> 10] + Ve[le >> 4 & 63] + Ve[le << 2 & 63] + "="), Ke.join("") }; for (var Ve = [], $ = [], ct = typeof Uint8Array < "u" ? Uint8Array : Array, Je = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ke = 0; ke < 64; ++ke)Ve[ke] = Je[ke], $[Je.charCodeAt(ke)] = ke; function ye(Z) { var le = Z.length; if (le % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var be = Z.indexOf("="); return -1 === be && (be = le), [be, be === le ? 0 : 4 - be % 4] } function Ue(Z) { return Ve[Z >> 18 & 63] + Ve[Z >> 12 & 63] + Ve[Z >> 6 & 63] + Ve[63 & Z] } function dt(Z, le, be) { for (var Ke = [], xe = le; xe < be; xe += 3)Ke.push(Ue((Z[xe] << 16 & 16711680) + (Z[xe + 1] << 8 & 65280) + (255 & Z[xe + 2]))); return Ke.join("") } $["-".charCodeAt(0)] = 62, $["_".charCodeAt(0)] = 63 }, 7: (_i, qt, Ve) => { "use strict"; var ct = Ve(919), Je = Ve(601), ke = "function" == typeof Symbol && "function" == typeof Symbol.for ? Symbol.for("nodejs.util.inspect.custom") : null; qt.lW = M, qt.h2 = 50; var de = 2147483647; function He(p) { if (p > de) throw new RangeError('The value "' + p + '" is invalid for option "size"'); var d = new Uint8Array(p); return Object.setPrototypeOf(d, M.prototype), d } function M(p, d, f) { if ("number" == typeof p) { if ("string" == typeof d) throw new TypeError('The "string" argument must be of type string. Received type number'); return wt(p) } return ut(p, d, f) } function ut(p, d, f) { if ("string" == typeof p) return function Z(p, d) { if (("string" != typeof d || "" === d) && (d = "utf8"), !M.isEncoding(d)) throw new TypeError("Unknown encoding: " + d); var f = 0 | en(p, d), m = He(f), w = m.write(p, d); return w !== f && (m = m.slice(0, w)), m }(p, d); if (ArrayBuffer.isView(p)) return function be(p) { if (tn(p, Uint8Array)) { var d = new Uint8Array(p); return Qe(d.buffer, d.byteOffset, d.byteLength) } return le(p) }(p); if (null == p) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p); if (tn(p, ArrayBuffer) || p && tn(p.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (tn(p, SharedArrayBuffer) || p && tn(p.buffer, SharedArrayBuffer))) return Qe(p, d, f); if ("number" == typeof p) throw new TypeError('The "value" argument must not be of type number. Received type number'); var m = p.valueOf && p.valueOf(); if (null != m && m !== p) return M.from(m, d, f); var w = function Ke(p) { if (M.isBuffer(p)) { var d = 0 | xe(p.length), f = He(d); return 0 === f.length || p.copy(f, 0, 0, d), f } return void 0 !== p.length ? "number" != typeof p.length || S(p.length) ? He(0) : le(p) : "Buffer" === p.type && Array.isArray(p.data) ? le(p.data) : void 0 }(p); if (w) return w; if (typeof Symbol < "u" && null != Symbol.toPrimitive && "function" == typeof p[Symbol.toPrimitive]) return M.from(p[Symbol.toPrimitive]("string"), d, f); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p) } function Ue(p) { if ("number" != typeof p) throw new TypeError('"size" argument must be of type number'); if (p < 0) throw new RangeError('The value "' + p + '" is invalid for option "size"') } function wt(p) { return Ue(p), He(p < 0 ? 0 : 0 | xe(p)) } function le(p) { for (var d = p.length < 0 ? 0 : 0 | xe(p.length), f = He(d), m = 0; m < d; m += 1)f[m] = 255 & p[m]; return f } function Qe(p, d, f) { if (d < 0 || p.byteLength < d) throw new RangeError('"offset" is outside of buffer bounds'); if (p.byteLength < d + (f || 0)) throw new RangeError('"length" is outside of buffer bounds'); var m; return m = void 0 === d && void 0 === f ? new Uint8Array(p) : void 0 === f ? new Uint8Array(p, d) : new Uint8Array(p, d, f), Object.setPrototypeOf(m, M.prototype), m } function xe(p) { if (p >= de) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + de.toString(16) + " bytes"); return 0 | p } function en(p, d) { if (M.isBuffer(p)) return p.length; if (ArrayBuffer.isView(p) || tn(p, ArrayBuffer)) return p.byteLength; if ("string" != typeof p) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof p); var f = p.length, m = arguments.length > 2 && !0 === arguments[2]; if (!m && 0 === f) return 0; for (var w = !1; ;)switch (d) { case "ascii": case "latin1": case "binary": return f; case "utf8": case "utf-8": return Zi(p).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * f; case "hex": return f >>> 1; case "base64": return Ji(p).length; default: if (w) return m ? -1 : Zi(p).length; d = ("" + d).toLowerCase(), w = !0 } } function Ct(p, d, f) { var m = !1; if ((void 0 === d || d < 0) && (d = 0), d > this.length || ((void 0 === f || f > this.length) && (f = this.length), f <= 0) || (f >>>= 0) <= (d >>>= 0)) return ""; for (p || (p = "utf8"); ;)switch (p) { case "hex": return bo(this, d, f); case "utf8": case "utf-8": return yo(this, d, f); case "ascii": return ss(this, d, f); case "latin1": case "binary": return os(this, d, f); case "base64": return yi(this, d, f); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return as(this, d, f); default: if (m) throw new TypeError("Unknown encoding: " + p); p = (p + "").toLowerCase(), m = !0 } } function Et(p, d, f) { var m = p[d]; p[d] = p[f], p[f] = m } function mr(p, d, f, m, w) { if (0 === p.length) return -1; if ("string" == typeof f ? (m = f, f = 0) : f > 2147483647 ? f = 2147483647 : f < -2147483648 && (f = -2147483648), S(f = +f) && (f = w ? 0 : p.length - 1), f < 0 && (f = p.length + f), f >= p.length) { if (w) return -1; f = p.length - 1 } else if (f < 0) { if (!w) return -1; f = 0 } if ("string" == typeof d && (d = M.from(d, m)), M.isBuffer(d)) return 0 === d.length ? -1 : mi(p, d, f, m, w); if ("number" == typeof d) return d &= 255, "function" == typeof Uint8Array.prototype.indexOf ? w ? Uint8Array.prototype.indexOf.call(p, d, f) : Uint8Array.prototype.lastIndexOf.call(p, d, f) : mi(p, [d], f, m, w); throw new TypeError("val must be string, number or Buffer") } function mi(p, d, f, m, w) { var Ce, I = 1, N = p.length, q = d.length; if (void 0 !== m && ("ucs2" === (m = String(m).toLowerCase()) || "ucs-2" === m || "utf16le" === m || "utf-16le" === m)) { if (p.length < 2 || d.length < 2) return -1; I = 2, N /= 2, q /= 2, f /= 2 } function he(bi, st) { return 1 === I ? bi[st] : bi.readUInt16BE(st * I) } if (w) { var rt = -1; for (Ce = f; Ce < N; Ce++)if (he(p, Ce) === he(d, -1 === rt ? 0 : Ce - rt)) { if (-1 === rt && (rt = Ce), Ce - rt + 1 === q) return rt * I } else -1 !== rt && (Ce -= Ce - rt), rt = -1 } else for (f + q > N && (f = N - q), Ce = f; Ce >= 0; Ce--) { for (var Le = !0, Xe = 0; Xe < q; Xe++)if (he(p, Ce + Xe) !== he(d, Xe)) { Le = !1; break } if (Le) return Ce } return -1 } function vi(p, d, f, m) { f = Number(f) || 0; var w = p.length - f; m ? (m = Number(m)) > w && (m = w) : m = w; var I = d.length; m > I / 2 && (m = I / 2); for (var N = 0; N < m; ++N) { var q = parseInt(d.substr(2 * N, 2), 16); if (S(q)) return N; p[f + N] = q } return N } function vo(p, d, f, m) { return Qi(Zi(d, p.length - f), p, f, m) } function vr(p, d, f, m) { return Qi(function Ja(p) { for (var d = [], f = 0; f < p.length; ++f)d.push(255 & p.charCodeAt(f)); return d }(d), p, f, m) } function rs(p, d, f, m) { return Qi(Ji(d), p, f, m) } function yr(p, d, f, m) { return Qi(function Dr(p, d) { for (var f, m, I = [], N = 0; N < p.length && !((d -= 2) < 0); ++N)m = (f = p.charCodeAt(N)) >> 8, I.push(f % 256), I.push(m); return I }(d, p.length - f), p, f, m) } function yi(p, d, f) { return ct.fromByteArray(0 === d && f === p.length ? p : p.slice(d, f)) } function yo(p, d, f) { f = Math.min(p.length, f); for (var m = [], w = d; w < f;) { var he, Ce, rt, Le, I = p[w], N = null, q = I > 239 ? 4 : I > 223 ? 3 : I > 191 ? 2 : 1; if (w + q <= f) switch (q) { case 1: I < 128 && (N = I); break; case 2: 128 == (192 & (he = p[w + 1])) && (Le = (31 & I) << 6 | 63 & he) > 127 && (N = Le); break; case 3: Ce = p[w + 2], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && (Le = (15 & I) << 12 | (63 & he) << 6 | 63 & Ce) > 2047 && (Le < 55296 || Le > 57343) && (N = Le); break; case 4: Ce = p[w + 2], rt = p[w + 3], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && 128 == (192 & rt) && (Le = (15 & I) << 18 | (63 & he) << 12 | (63 & Ce) << 6 | 63 & rt) > 65535 && Le < 1114112 && (N = Le) }null === N ? (N = 65533, q = 1) : N > 65535 && (m.push((N -= 65536) >>> 10 & 1023 | 55296), N = 56320 | 1023 & N), m.push(N), w += q } return function ze(p) { var d = p.length; if (d <= br) return String.fromCharCode.apply(String, p); for (var f = "", m = 0; m < d;)f += String.fromCharCode.apply(String, p.slice(m, m += br)); return f }(m) } !(M.TYPED_ARRAY_SUPPORT = function ye() { try { var p = new Uint8Array(1), d = { foo: function () { return 42 } }; return Object.setPrototypeOf(d, Uint8Array.prototype), Object.setPrototypeOf(p, d), 42 === p.foo() } catch { return !1 } }()) && typeof console < "u" && "function" == typeof console.error && console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(M.prototype, "parent", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.buffer } }), Object.defineProperty(M.prototype, "offset", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.byteOffset } }), M.poolSize = 8192, M.from = function (p, d, f) { return ut(p, d, f) }, Object.setPrototypeOf(M.prototype, Uint8Array.prototype), Object.setPrototypeOf(M, Uint8Array), M.alloc = function (p, d, f) { return function dt(p, d, f) { return Ue(p), p <= 0 ? He(p) : void 0 !== d ? "string" == typeof f ? He(p).fill(d, f) : He(p).fill(d) : He(p) }(p, d, f) }, M.allocUnsafe = function (p) { return wt(p) }, M.allocUnsafeSlow = function (p) { return wt(p) }, M.isBuffer = function (d) { return null != d && !0 === d._isBuffer && d !== M.prototype }, M.compare = function (d, f) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), tn(f, Uint8Array) && (f = M.from(f, f.offset, f.byteLength)), !M.isBuffer(d) || !M.isBuffer(f)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (d === f) return 0; for (var m = d.length, w = f.length, I = 0, N = Math.min(m, w); I < N; ++I)if (d[I] !== f[I]) { m = d[I], w = f[I]; break } return m < w ? -1 : w < m ? 1 : 0 }, M.isEncoding = function (d) { switch (String(d).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, M.concat = function (d, f) { if (!Array.isArray(d)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === d.length) return M.alloc(0); var m; if (void 0 === f) for (f = 0, m = 0; m < d.length; ++m)f += d[m].length; var w = M.allocUnsafe(f), I = 0; for (m = 0; m < d.length; ++m) { var N = d[m]; if (tn(N, Uint8Array)) I + N.length > w.length ? M.from(N).copy(w, I) : Uint8Array.prototype.set.call(w, N, I); else { if (!M.isBuffer(N)) throw new TypeError('"list" argument must be an Array of Buffers'); N.copy(w, I) } I += N.length } return w }, M.byteLength = en, M.prototype._isBuffer = !0, M.prototype.swap16 = function () { var d = this.length; if (d % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var f = 0; f < d; f += 2)Et(this, f, f + 1); return this }, M.prototype.swap32 = function () { var d = this.length; if (d % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var f = 0; f < d; f += 4)Et(this, f, f + 3), Et(this, f + 1, f + 2); return this }, M.prototype.swap64 = function () { var d = this.length; if (d % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var f = 0; f < d; f += 8)Et(this, f, f + 7), Et(this, f + 1, f + 6), Et(this, f + 2, f + 5), Et(this, f + 3, f + 4); return this }, M.prototype.toLocaleString = M.prototype.toString = function () { var d = this.length; return 0 === d ? "" : 0 === arguments.length ? yo(this, 0, d) : Ct.apply(this, arguments) }, M.prototype.equals = function (d) { if (!M.isBuffer(d)) throw new TypeError("Argument must be a Buffer"); return this === d || 0 === M.compare(this, d) }, M.prototype.inspect = function () { var d = "", f = qt.h2; return d = this.toString("hex", 0, f).replace(/(.{2})/g, "$1 ").trim(), this.length > f && (d += " ... "), "" }, ke && (M.prototype[ke] = M.prototype.inspect), M.prototype.compare = function (d, f, m, w, I) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), !M.isBuffer(d)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof d); if (void 0 === f && (f = 0), void 0 === m && (m = d ? d.length : 0), void 0 === w && (w = 0), void 0 === I && (I = this.length), f < 0 || m > d.length || w < 0 || I > this.length) throw new RangeError("out of range index"); if (w >= I && f >= m) return 0; if (w >= I) return -1; if (f >= m) return 1; if (this === d) return 0; for (var N = (I >>>= 0) - (w >>>= 0), q = (m >>>= 0) - (f >>>= 0), he = Math.min(N, q), Ce = this.slice(w, I), rt = d.slice(f, m), Le = 0; Le < he; ++Le)if (Ce[Le] !== rt[Le]) { N = Ce[Le], q = rt[Le]; break } return N < q ? -1 : q < N ? 1 : 0 }, M.prototype.includes = function (d, f, m) { return -1 !== this.indexOf(d, f, m) }, M.prototype.indexOf = function (d, f, m) { return mr(this, d, f, m, !0) }, M.prototype.lastIndexOf = function (d, f, m) { return mr(this, d, f, m, !1) }, M.prototype.write = function (d, f, m, w) { if (void 0 === f) w = "utf8", m = this.length, f = 0; else if (void 0 === m && "string" == typeof f) w = f, m = this.length, f = 0; else { if (!isFinite(f)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); f >>>= 0, isFinite(m) ? (m >>>= 0, void 0 === w && (w = "utf8")) : (w = m, m = void 0) } var I = this.length - f; if ((void 0 === m || m > I) && (m = I), d.length > 0 && (m < 0 || f < 0) || f > this.length) throw new RangeError("Attempt to write outside buffer bounds"); w || (w = "utf8"); for (var N = !1; ;)switch (w) { case "hex": return vi(this, d, f, m); case "utf8": case "utf-8": return vo(this, d, f, m); case "ascii": case "latin1": case "binary": return vr(this, d, f, m); case "base64": return rs(this, d, f, m); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return yr(this, d, f, m); default: if (N) throw new TypeError("Unknown encoding: " + w); w = ("" + w).toLowerCase(), N = !0 } }, M.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var br = 4096; function ss(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(127 & p[w]); return m } function os(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(p[w]); return m } function bo(p, d, f) { var m = p.length; (!d || d < 0) && (d = 0), (!f || f < 0 || f > m) && (f = m); for (var w = "", I = d; I < f; ++I)w += E[p[I]]; return w } function as(p, d, f) { for (var m = p.slice(d, f), w = "", I = 0; I < m.length - 1; I += 2)w += String.fromCharCode(m[I] + 256 * m[I + 1]); return w } function ee(p, d, f) { if (p % 1 != 0 || p < 0) throw new RangeError("offset is not uint"); if (p + d > f) throw new RangeError("Trying to access beyond buffer length") } function Rt(p, d, f, m, w, I) { if (!M.isBuffer(p)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (d > w || d < I) throw new RangeError('"value" argument is out of bounds'); if (f + m > p.length) throw new RangeError("Index out of range") } function ls(p, d, f, m, w, I) { if (f + m > p.length) throw new RangeError("Index out of range"); if (f < 0) throw new RangeError("Index out of range") } function mt(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 4), Je.write(p, d, f, m, 23, 4), f + 4 } function ft(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 8), Je.write(p, d, f, m, 52, 8), f + 8 } M.prototype.slice = function (d, f) { var m = this.length; (d = ~~d) < 0 ? (d += m) < 0 && (d = 0) : d > m && (d = m), (f = void 0 === f ? m : ~~f) < 0 ? (f += m) < 0 && (f = 0) : f > m && (f = m), f < d && (f = d); var w = this.subarray(d, f); return Object.setPrototypeOf(w, M.prototype), w }, M.prototype.readUintLE = M.prototype.readUIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w }, M.prototype.readUintBE = M.prototype.readUIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d + --f], I = 1; f > 0 && (I *= 256);)w += this[d + --f] * I; return w }, M.prototype.readUint8 = M.prototype.readUInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), this[d] }, M.prototype.readUint16LE = M.prototype.readUInt16LE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] | this[d + 1] << 8 }, M.prototype.readUint16BE = M.prototype.readUInt16BE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] << 8 | this[d + 1] }, M.prototype.readUint32LE = M.prototype.readUInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), (this[d] | this[d + 1] << 8 | this[d + 2] << 16) + 16777216 * this[d + 3] }, M.prototype.readUint32BE = M.prototype.readUInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), 16777216 * this[d] + (this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3]) }, M.prototype.readIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w >= (I *= 128) && (w -= Math.pow(2, 8 * f)), w }, M.prototype.readIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = f, I = 1, N = this[d + --w]; w > 0 && (I *= 256);)N += this[d + --w] * I; return N >= (I *= 128) && (N -= Math.pow(2, 8 * f)), N }, M.prototype.readInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), 128 & this[d] ? -1 * (255 - this[d] + 1) : this[d] }, M.prototype.readInt16LE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d] | this[d + 1] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt16BE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d + 1] | this[d] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] | this[d + 1] << 8 | this[d + 2] << 16 | this[d + 3] << 24 }, M.prototype.readInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] << 24 | this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3] }, M.prototype.readFloatLE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !0, 23, 4) }, M.prototype.readFloatBE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !1, 23, 4) }, M.prototype.readDoubleLE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !0, 52, 8) }, M.prototype.readDoubleBE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !1, 52, 8) }, M.prototype.writeUintLE = M.prototype.writeUIntLE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = 1, q = 0; for (this[f] = 255 & d; ++q < m && (N *= 256);)this[f + q] = d / N & 255; return f + m }, M.prototype.writeUintBE = M.prototype.writeUIntBE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = m - 1, q = 1; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)this[f + N] = d / q & 255; return f + m }, M.prototype.writeUint8 = M.prototype.writeUInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 255, 0), this[f] = 255 & d, f + 1 }, M.prototype.writeUint16LE = M.prototype.writeUInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeUint16BE = M.prototype.writeUInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeUint32LE = M.prototype.writeUInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f + 3] = d >>> 24, this[f + 2] = d >>> 16, this[f + 1] = d >>> 8, this[f] = 255 & d, f + 4 }, M.prototype.writeUint32BE = M.prototype.writeUInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeIntLE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = 0, q = 1, he = 0; for (this[f] = 255 & d; ++N < m && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N - 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeIntBE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = m - 1, q = 1, he = 0; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N + 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 127, -128), d < 0 && (d = 255 + d + 1), this[f] = 255 & d, f + 1 }, M.prototype.writeInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), this[f] = 255 & d, this[f + 1] = d >>> 8, this[f + 2] = d >>> 16, this[f + 3] = d >>> 24, f + 4 }, M.prototype.writeInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), d < 0 && (d = 4294967295 + d + 1), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeFloatLE = function (d, f, m) { return mt(this, d, f, !0, m) }, M.prototype.writeFloatBE = function (d, f, m) { return mt(this, d, f, !1, m) }, M.prototype.writeDoubleLE = function (d, f, m) { return ft(this, d, f, !0, m) }, M.prototype.writeDoubleBE = function (d, f, m) { return ft(this, d, f, !1, m) }, M.prototype.copy = function (d, f, m, w) { if (!M.isBuffer(d)) throw new TypeError("argument should be a Buffer"); if (m || (m = 0), !w && 0 !== w && (w = this.length), f >= d.length && (f = d.length), f || (f = 0), w > 0 && w < m && (w = m), w === m || 0 === d.length || 0 === this.length) return 0; if (f < 0) throw new RangeError("targetStart out of bounds"); if (m < 0 || m >= this.length) throw new RangeError("Index out of range"); if (w < 0) throw new RangeError("sourceEnd out of bounds"); w > this.length && (w = this.length), d.length - f < w - m && (w = d.length - f + m); var I = w - m; return this === d && "function" == typeof Uint8Array.prototype.copyWithin ? this.copyWithin(f, m, w) : Uint8Array.prototype.set.call(d, this.subarray(m, w), f), I }, M.prototype.fill = function (d, f, m, w) { if ("string" == typeof d) { if ("string" == typeof f ? (w = f, f = 0, m = this.length) : "string" == typeof m && (w = m, m = this.length), void 0 !== w && "string" != typeof w) throw new TypeError("encoding must be a string"); if ("string" == typeof w && !M.isEncoding(w)) throw new TypeError("Unknown encoding: " + w); if (1 === d.length) { var I = d.charCodeAt(0); ("utf8" === w && I < 128 || "latin1" === w) && (d = I) } } else "number" == typeof d ? d &= 255 : "boolean" == typeof d && (d = Number(d)); if (f < 0 || this.length < f || this.length < m) throw new RangeError("Out of range index"); if (m <= f) return this; var N; if (f >>>= 0, m = void 0 === m ? this.length : m >>> 0, d || (d = 0), "number" == typeof d) for (N = f; N < m; ++N)this[N] = d; else { var q = M.isBuffer(d) ? d : M.from(d, w), he = q.length; if (0 === he) throw new TypeError('The value "' + d + '" is invalid for argument "value"'); for (N = 0; N < m - f; ++N)this[N + f] = q[N % he] } return this }; var cs = /[^+/0-9A-Za-z-_]/g; function Zi(p, d) { d = d || 1 / 0; for (var f, m = p.length, w = null, I = [], N = 0; N < m; ++N) { if ((f = p.charCodeAt(N)) > 55295 && f < 57344) { if (!w) { if (f > 56319) { (d -= 3) > -1 && I.push(239, 191, 189); continue } if (N + 1 === m) { (d -= 3) > -1 && I.push(239, 191, 189); continue } w = f; continue } if (f < 56320) { (d -= 3) > -1 && I.push(239, 191, 189), w = f; continue } f = 65536 + (w - 55296 << 10 | f - 56320) } else w && (d -= 3) > -1 && I.push(239, 191, 189); if (w = null, f < 128) { if ((d -= 1) < 0) break; I.push(f) } else if (f < 2048) { if ((d -= 2) < 0) break; I.push(f >> 6 | 192, 63 & f | 128) } else if (f < 65536) { if ((d -= 3) < 0) break; I.push(f >> 12 | 224, f >> 6 & 63 | 128, 63 & f | 128) } else { if (!(f < 1114112)) throw new Error("Invalid code point"); if ((d -= 4) < 0) break; I.push(f >> 18 | 240, f >> 12 & 63 | 128, f >> 6 & 63 | 128, 63 & f | 128) } } return I } function Ji(p) { return ct.toByteArray(function Pt(p) { if ((p = (p = p.split("=")[0]).trim().replace(cs, "")).length < 2) return ""; for (; p.length % 4 != 0;)p += "="; return p }(p)) } function Qi(p, d, f, m) { for (var w = 0; w < m && !(w + f >= d.length || w >= p.length); ++w)d[w + f] = p[w]; return w } function tn(p, d) { return p instanceof d || null != p && null != p.constructor && null != p.constructor.name && p.constructor.name === d.name } function S(p) { return p != p } var E = function () { for (var p = "0123456789abcdef", d = new Array(256), f = 0; f < 16; ++f)for (var m = 16 * f, w = 0; w < 16; ++w)d[m + w] = p[f] + p[w]; return d }() }, 601: (_i, qt) => { qt.read = function (Ve, $, ct, Je, ke) { var de, ye, He = 8 * ke - Je - 1, M = (1 << He) - 1, ut = M >> 1, Ue = -7, dt = ct ? ke - 1 : 0, wt = ct ? -1 : 1, Z = Ve[$ + dt]; for (dt += wt, de = Z & (1 << -Ue) - 1, Z >>= -Ue, Ue += He; Ue > 0; de = 256 * de + Ve[$ + dt], dt += wt, Ue -= 8); for (ye = de & (1 << -Ue) - 1, de >>= -Ue, Ue += Je; Ue > 0; ye = 256 * ye + Ve[$ + dt], dt += wt, Ue -= 8); if (0 === de) de = 1 - ut; else { if (de === M) return ye ? NaN : 1 / 0 * (Z ? -1 : 1); ye += Math.pow(2, Je), de -= ut } return (Z ? -1 : 1) * ye * Math.pow(2, de - Je) }, qt.write = function (Ve, $, ct, Je, ke, de) { var ye, He, M, ut = 8 * de - ke - 1, Ue = (1 << ut) - 1, dt = Ue >> 1, wt = 23 === ke ? Math.pow(2, -24) - Math.pow(2, -77) : 0, Z = Je ? 0 : de - 1, le = Je ? 1 : -1, be = $ < 0 || 0 === $ && 1 / $ < 0 ? 1 : 0; for ($ = Math.abs($), isNaN($) || $ === 1 / 0 ? (He = isNaN($) ? 1 : 0, ye = Ue) : (ye = Math.floor(Math.log($) / Math.LN2), $ * (M = Math.pow(2, -ye)) < 1 && (ye--, M *= 2), ($ += ye + dt >= 1 ? wt / M : wt * Math.pow(2, 1 - dt)) * M >= 2 && (ye++, M /= 2), ye + dt >= Ue ? (He = 0, ye = Ue) : ye + dt >= 1 ? (He = ($ * M - 1) * Math.pow(2, ke), ye += dt) : (He = $ * Math.pow(2, dt - 1) * Math.pow(2, ke), ye = 0)); ke >= 8; Ve[ct + Z] = 255 & He, Z += le, He /= 256, ke -= 8); for (ye = ye << ke | He, ut += ke; ut > 0; Ve[ct + Z] = 255 & ye, Z += le, ye /= 256, ut -= 8); Ve[ct + Z - le] |= 128 * be } }, 614: () => { "use strict"; const _i = ":"; const Ji = function (S, ...E) { if (Ji.translate) { const d = Ji.translate(S, E); S = d[0], E = d[1] } let p = tn(S[0], S.raw[0]); for (let d = 1; d < S.length; d++)p += E[d - 1] + tn(S[d], S.raw[d]); return p }, Qi = ":"; function tn(S, E) { return E.charAt(0) === Qi ? S.substring(function as(S, E) { for (let p = 1, d = 1; p < S.length; p++, d++)if ("\\" === E[d]) d++; else if (S[p] === _i) return p; throw new Error(`Unterminated $localize metadata block in "${E}".`) }(S, E) + 1) : S } globalThis.$localize = Ji } }, _i => { var qt = $ => _i(_i.s = $); qt(614), qt(362) }]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/button.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/button.py index f0f602df..ec1fd271 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/button.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/button.py @@ -81,7 +81,10 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks[CallbackNames.click] = {"policy": None, "policy_type": SymbolType} + callbacks[CallbackNames.click] = { + "operation": None, + "operation_type": SymbolType, + } return callbacks @@ -142,11 +145,11 @@ def leave(event): def _define_click_event(self, elements): self._logger.debug(str(elements)) key = CallbackNames.click - if self._callbacks[key] and self._callbacks[key]["policy"]: + if self._callbacks[key] and self._callbacks[key]["operation"]: def click_event(event): self._logger.debug(str(event)) - self._base_engine.post_with_policy(self._callbacks[key]["policy"]) + self._base_engine.post_with_operation(self._callbacks[key]["operation"]) self._button.bind("", click_event) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/container.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/container.py index ac94186d..cc70e3e3 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/container.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/container.py @@ -59,7 +59,7 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks["click"] = {"policy": None, "policy_type": SymbolType} + callbacks["click"] = {"operation": None, "operation_type": SymbolType} return callbacks @@ -110,10 +110,10 @@ def leave(event): def _define_click_event(self, elements, key=CallbackNames.click): self._logger.debug(str(elements)) - if self._callbacks[key] and self._callbacks[key]["policy"]: + if self._callbacks[key] and self._callbacks[key]["operation"]: def dropdown_menu_item_click(event): self._logger.debug(str(event)) - self._base_engine.assume(self._callbacks[key]["policy"]) + self._base_engine.assume(self._callbacks[key]["operation"]) self._element.bind("", dropdown_menu_item_click) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu.py index ee0f0cc2..11fd9452 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu.py @@ -81,17 +81,20 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks[CallbackNames.clear] = {"policy": None, "policy_type": SymbolType} + callbacks[CallbackNames.clear] = { + "operation": None, + "operation_type": SymbolType, + } return callbacks - def _clear_select(self, cid, parent_id, click_policy, elements): + def _clear_select(self, cid, parent_id, click_operation, elements): parent = elements[str(parent_id)] if hasattr(parent, "get_variable"): variable = getattr(parent, "get_variable")() variable.set(cid) - if click_policy is not None: - self._base_engine.post_with_policy(click_policy) + if click_operation is not None: + self._base_engine.post_with_operation(click_operation) else: self._logger.warning( "Could not set variable for dropdownmenu. Item id: %s, dropdown-menu-id: %s", @@ -99,21 +102,21 @@ def _clear_select(self, cid, parent_id, click_policy, elements): str(parent_id), ) - def _dropdown_clear(self, click_policy): + def _dropdown_clear(self, click_operation): variable = self.get_variable() variable.set("") - self._base_engine.post_with_policy(click_policy) + self._base_engine.post_with_operation(click_operation) def _define_clear_event( self, elements, key=CallbackNames.clear ): # pylint: disable=W0613 - if self._callbacks[key]["policy"] is None: + if self._callbacks[key]["operation"] is None: return def change(*args): # pylint: disable=W0613 if self._variable.get() == "": self._logger.info("Will remove previous selections") - self._dropdown_clear(self._callbacks[key]["policy"]) + self._dropdown_clear(self._callbacks[key]["operation"]) self._variable.trace("w", change) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu_item.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu_item.py index 9034182f..d71ed137 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu_item.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/dropdownmenu_item.py @@ -41,7 +41,10 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks[CallbackNames.click] = {"policy": None, "policy_type": SymbolType} + callbacks[CallbackNames.click] = { + "operation": None, + "operation_type": SymbolType, + } return callbacks @@ -52,19 +55,19 @@ def _define_click_event(self, elements, key=CallbackNames.click): command=CallBackDefinition( self._id, self._parent, - self._callbacks[key]["policy"], + self._callbacks[key]["operation"], elements, self._dropdownmenuitem_click, ), ) - def _dropdownmenuitem_click(self, cid, parent_id, click_policy, elements): + def _dropdownmenuitem_click(self, cid, parent_id, click_operation, elements): parent = elements[str(parent_id)] if hasattr(parent, "get_variable"): variable = getattr(parent, "get_variable")() variable.set(cid) - if click_policy is not None: - self._base_engine.post_with_policy(click_policy) + if click_operation is not None: + self._base_engine.post_with_operation(click_operation) else: self._logger.warning( "Could not set variable for dropdownmenu. Item id: %s, dropdown-menu-id: %s", diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/label.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/label.py index 5aea0abe..24db6fd0 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/label.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/label.py @@ -75,7 +75,10 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks[CallbackNames.click] = {"policy": None, "policy_type": SymbolType} + callbacks[CallbackNames.click] = { + "operation": None, + "operation_type": SymbolType, + } return callbacks @@ -140,10 +143,10 @@ def leave(event): # pylint: disable=W0613 def _define_click_event(self, elements): # pylint: disable=W0613 key = CallbackNames.click - if self._callbacks[key] and self._callbacks[key]["policy"]: + if self._callbacks[key] and self._callbacks[key]["operation"]: def click_event(event): # pylint: disable=W0613 - self._base_engine.post_with_policy(self._callbacks[key]["policy"]) + self._base_engine.post_with_operation(self._callbacks[key]["operation"]) self._label.bind("", click_event) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section_item.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section_item.py index b7fd016d..bb178758 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section_item.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section_item.py @@ -66,7 +66,10 @@ def _get_callbacks(cls, callbacks=None): if callbacks is None: callbacks = {} - callbacks[CallbackNames.click] = {"policy": None, "policy_type": SymbolType} + callbacks[CallbackNames.click] = { + "operation": None, + "operation_type": SymbolType, + } return callbacks @@ -74,11 +77,11 @@ def _define_click_event(self, elements): key = CallbackNames.click text = self._attributes[AttributeNames.label]["value"] accelerator = self._attributes[AttributeNames.accelerator]["value"] - if self._callbacks[key] and self._callbacks[key]["policy"]: + if self._callbacks[key] and self._callbacks[key]["operation"]: cb = CallBackDefinition( self._id, self._parent, - self._callbacks[key]["policy"], + self._callbacks[key]["operation"], elements, self._menubar_item_click, ) @@ -91,13 +94,13 @@ def _define_click_event(self, elements): else: self._element.add_command(label=text) - def _menubar_item_click(self, cid, parent, click_policy, elements): + def _menubar_item_click(self, cid, parent, click_operation, elements): self._logger.debug(str(cid)) self._logger.debug(str(parent)) self._logger.debug(str(elements)) - if click_policy is not None: - self._base_engine.post_with_policy(click_policy) + if click_operation is not None: + self._base_engine.post_with_operation(click_operation) def _add_component_to_elements(self, elements): elements[str(self._id)] = self diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py index 2c04d0c9..b3b25e4b 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py @@ -134,17 +134,19 @@ def _fill_callbacks(self): callback["interaction_type"], ) key = callback["event"] - value = callback["policy"] - if key in self._callbacks and "policy_type" in self._callbacks[key]: - value_type = self._callbacks[key]["policy_type"] + value = callback["operation"] + if key in self._callbacks and "operation_type" in self._callbacks[key]: + value_type = self._callbacks[key]["operation_type"] else: value_type = SymbolType - if key in self._callbacks and "policy" in self._callbacks[key]: - self._callbacks[key]["policy"] = value_type.parse(value, self._logger) + if key in self._callbacks and "operation" in self._callbacks[key]: + self._callbacks[key]["operation"] = value_type.parse( + value, self._logger + ) else: self._logger.warning( - "Undefined Command: %s, or policy item missing in command.", key + "Undefined Command: %s, or operation item missing in command.", key ) def _get_methods(self, start_string): diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py index 7db31a66..faf0a876 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_frontend.py @@ -101,7 +101,7 @@ def append_dict(description, d, type_name): callbacks = c.get_callbacks() if len(callbacks.keys()) > 0: description = description + colored_text(" events\n", "YELLOW") - description = append_dict(description, callbacks, "policy_type") + description = append_dict(description, callbacks, "operation_type") description = description + "--------------------------------\n" return description @@ -247,10 +247,10 @@ def postprocessing_size_setter(self, cid, cur_element, attributes): if pack: if AttributeNames.child_layout in attributes: - policy = cur_element.get_attributes_list()[AttributeNames.child_layout][ - "value" - ] - if policy == ChildLayoutType.FLEX: + operation = cur_element.get_attributes_list()[ + AttributeNames.child_layout + ]["value"] + if operation == ChildLayoutType.FLEX: cur_element.get_element().pack_propagate(0) else: cur_element.get_element().pack_propagate(0) diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/call_back_definition.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/call_back_definition.py index b264ba8e..31f47efa 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/call_back_definition.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/call_back_definition.py @@ -8,12 +8,12 @@ class CallBackDefinition: Some elements use this class to define their callbacks (others just do it locally, which is the preferred method). """ - def __init__(self, cid, parent, click_policy, elements, callback): + def __init__(self, cid, parent, click_operation, elements, callback): self._id = cid self._parent = parent - self._click_policy = click_policy + self._click_operation = click_operation self._elements = elements self._callback = callback def __call__(self, *args): - self._callback(self._id, self._parent, self._click_policy, self._elements) + self._callback(self._id, self._parent, self._click_operation, self._elements) diff --git a/clinguin/server/application/callback.py b/clinguin/server/application/callback.py index 4648fa14..042c5076 100644 --- a/clinguin/server/application/callback.py +++ b/clinguin/server/application/callback.py @@ -1,6 +1,7 @@ """ Module contains the CallbackDto class. """ + import json @@ -11,11 +12,11 @@ class CallbackDto: endpoints on sending the reply. """ - def __init__(self, cid, event, interaction_type, policy): + def __init__(self, cid, event, interaction_type, operation): self.id = str(cid) # pylint: disable=C0103 self.event = str(event) self.interaction_type = str(interaction_type) - self.policy = str(policy) + self.operation = str(operation) def to_JSON(self): # pylint: disable=C0103 """ @@ -27,4 +28,4 @@ def clone(self): """ Creates a new CallbackDto object with the same properties. """ - return CallbackDto(self.id, self.event, self.interaction_type, self.policy) + return CallbackDto(self.id, self.event, self.interaction_type, self.operation) diff --git a/clinguin/server/application/standard_json_encoder.py b/clinguin/server/application/standard_json_encoder.py index 4e93e5f3..521ac40c 100644 --- a/clinguin/server/application/standard_json_encoder.py +++ b/clinguin/server/application/standard_json_encoder.py @@ -1,6 +1,7 @@ """ Module which contains the StandardJsonEncoder """ + import logging import networkx as nx @@ -91,7 +92,7 @@ def _generate_hierarchy(cls, ui_state, hierarchy_root, elements_dict): element.set_attributes(elem_attributes) if element_id in cbs: elem_callbacks = [ - CallbackDto(a.id, a.event, a.interaction_type, a.policy) + CallbackDto(a.id, a.event, a.interaction_type, a.operation) for a in cbs[element_id] ] element.set_callbacks(elem_callbacks) diff --git a/clinguin/server/data/callback.py b/clinguin/server/data/callback.py index 5a23fc0a..7468adcf 100644 --- a/clinguin/server/data/callback.py +++ b/clinguin/server/data/callback.py @@ -22,7 +22,7 @@ class WhenDao(Predicate): id = RawField event = RawField interaction_type = RawField - policy = RawField + operation = RawField class Meta: """ diff --git a/clinguin/server/presentation/backend_policy_dto.py b/clinguin/server/presentation/backend_operation_dto.py similarity index 82% rename from clinguin/server/presentation/backend_policy_dto.py rename to clinguin/server/presentation/backend_operation_dto.py index 6b225b36..11f125e0 100644 --- a/clinguin/server/presentation/backend_policy_dto.py +++ b/clinguin/server/presentation/backend_operation_dto.py @@ -1,5 +1,5 @@ """ -Module that contains the BackendPolicyDto +Module that contains the BackendOperationDto """ from typing import List, Optional @@ -16,7 +16,7 @@ class ContextDto(BaseModel): value: str -class BackendPolicyDto(BaseModel): +class BackendOperationDto(BaseModel): """ Needed by the endpoints to get convert the transported json into something useful for the backend. """ diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index c9eba3cc..31102d70 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -13,7 +13,7 @@ from ...utils import get_server_error_alert from ...utils.logger import colored_text -from .backend_policy_dto import BackendPolicyDto +from .backend_operation_dto import BackendOperationDto # Self Defined from .endpoints_helper import EndpointsHelper @@ -28,7 +28,7 @@ class Endpoints: Methods: health -> Json : Returns name, version and description of clinguin. standard_executor -> Json : Returns the default GUI representation as Json that the Backend provides. - policy_executor -> Json : Executes a policy defined by the Json passed with the Post request. + operation_executor -> Json : Executes a operation defined by the Json passed with the Post request. """ last_response = None @@ -42,7 +42,7 @@ def __init__(self, args) -> None: # Definition of endpoints self.router.add_api_route("/health", self.health, methods=["GET"]) self.router.add_api_route("/", self.standard_executor, methods=["GET"]) - self.router.add_api_route("/backend", self.policy_executor, methods=["POST"]) + self.router.add_api_route("/backend", self.operation_executor, methods=["POST"]) self._backend = args.backend(args) @@ -78,7 +78,7 @@ async def standard_executor(self): self._logger.error(traceback.format_exc()) return get_server_error_alert(str(e), self.last_response) - async def policy_executor(self, backend_call_string: BackendPolicyDto): + async def operation_executor(self, backend_call_string: BackendOperationDto): """ Post endpoint (/backend) of the server-backend, which can be used to call specific methods/functions of the backend. @@ -98,7 +98,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto): raise Exception(msg) from exc if symbol.type != clingo.SymbolType.Function: - raise Exception(f"Policy {symbol} is not a function") + raise Exception(f"Operation {symbol} is not a function") # pylint: disable=protected-access if hasattr(backend_call_string, "context"): diff --git a/docs/clinguin/development/angular.rst b/docs/clinguin/development/angular.rst index e04c1dd4..9f63cc61 100644 --- a/docs/clinguin/development/angular.rst +++ b/docs/clinguin/development/angular.rst @@ -79,5 +79,5 @@ Important services and their description: * **ContextMenuService**: Data-store (non-RXJS type) for the context-menus. Needed to ensure the context-menus are closed/opened properly (indirectly) Implements useful methods that are needed for the context. * **ConfigService**: Reads the configuration file, where the *server-url* and *server-port* is stored. * **LocatorService**: Helper service for injecting services into functions. -* **CallbackHelperService**: Handles that the correct event-listener is created for the correct event. Currently handled do-policy-types are *update*, *context*, *call*/*callback*, and *show_context_menu*. +* **CallbackHelperService**: Handles that the correct event-listener is created for the correct event. Currently handled do-operation-types are *update*, *context*, *call*/*callback*, and *show_context_menu*. * **AttributeHelperService**: This service ensures a translation between commonly used attributes in clinguin and their corresponding part in *CSS*. Note that it is possible to set **CSS styles directly**, via the *setAttributesDirectly* method. This method is by default always called for all attributes, just note that the attribute-keys have to be in **camelCase** notation (e.g., *align-items* to *alignItems*). diff --git a/docs/clinguin/reference/communication.rst b/docs/clinguin/reference/communication.rst index 6ea255f9..f89f4a96 100644 --- a/docs/clinguin/reference/communication.rst +++ b/docs/clinguin/reference/communication.rst @@ -25,7 +25,7 @@ Operations .. figure:: ../../operation.png -The operations are defined by the backend. These operations will interact with the domain control while performing all the required changes. +The operations are defined by the backend. These operations will interact with the domain control while performing all the required changes. Each backend will define an available list of operations. These lists can be found in :ref:`Backends`. @@ -39,30 +39,30 @@ Context The context can be used to store information provided by the user before calling the server. For instance, it can store the input of a text field, or the value of a checkbox. Therefore, it is usefull for creating input forms within the UI. Internally, the context is represented by a dictionary in the client and it can be accesed in three ways. .. warning:: - + Context information is only available for web frontends and not for Tkinter. **Updates** -The context information is updated using predicate ``when`` as described above. +The context information is updated using predicate ``when`` as described above. .. admonition:: Example - + The context would be updated with the key-value pair `(agree, true)` when `button1` is clicked. - .. code-block:: + .. code-block:: when(button1, click, context, (agree, true)). -To use a value imputed by the user, such as for text fields, the special constant ``_value`` will hold the value of an input event. +To use a value imputed by the user, such as for text fields, the special constant ``_value`` will hold the value of an input event. .. admonition:: Example - - .. code-block:: - + + .. code-block:: + when(textfield1, input, context, (t1_content, _value)). @@ -71,36 +71,36 @@ To use a value imputed by the user, such as for text fields, the special constan The values of the context can be accessed for a direct substitution in the operation of a call. This is done with the special predicate ``_context_value`` with arity 1, 2 or 3. - The first argument of this predicate is the key which will be substituted by the value before it is processed by the server. -- The second argument is an optional type, which should be ``str``, ``int`` or ``const``. Using this type will type check the input and transform in into the correct type. +- The second argument is an optional type, which should be ``str``, ``int`` or ``const``. Using this type will type check the input and transform in into the correct type. If the user provides as input a number 1, it will be trated as a number unless the type is ``str`` in which case it will be transformed to ``"1"``. If the user provides as input a string that can be an constant, such as ``open``, it will be passed without quotes unless the type is ``str``. However, if the input is a string that can't be a constant, such as ``Open``, it will quoted even if no type is provided. - The third argument is an optional default value, this value is taken whenever the key is not present. .. admonition:: Example - + Example from the `ast example `_. The key `selected_node` is set open clicking on a node and then this information is sustituted on the next line when the server is called to add an atom, which yeilds operation ``add_atom(show_children(X,true)))`` after the substitution, with ``X`` being the selected node. - .. code-block:: + .. code-block:: when(node(X), click, context, (selected_node, X)):- node(X). when(button1, click, call, add_atom(show_children(_context_value(selected_node),true))). .. admonition:: Example - + Example from the `ast example `_. When this button is clicked, the value of the key ``show_download`` will be accessed and transfoermed into a string. If no value is provided then it is substituted by "#show assign/2.". - .. code-block:: + .. code-block:: when(b1, click, call, download(_context_value(show_download, str, "#show assign/2."))). **Access** -All calls to the server will include the context as an argument. All backends will have access to this dictionary and can use its values for any operation. The provadided backends include the context information as part of the :ref:`domain-state` via predicate ``_clinguin_context(KEY,VALUE)``. Thus, giving the UI encoding access to the context at the time the call was made. Beware that changes in the context are not reflected in the UI encoding imidiatley, but only after calling the server and calculating the UI again. +All calls to the server will include the context as an argument. All backends will have access to this dictionary and can use its values for any operation. The provadided backends include the context information as part of the :ref:`domain-state` via predicate ``_clinguin_context(KEY,VALUE)``. Thus, giving the UI encoding access to the context at the time the call was made. Beware that changes in the context are not reflected in the UI encoding imidiatley, but only after calling the server and calculating the UI again. Notice that the _clinguin_context predicate will only include things after a server call, but not the moment they are set. .. warning:: @@ -110,8 +110,8 @@ Notice that the _clinguin_context predicate will only include things after a ser .. tip:: If some of the context wants to be preserved between calls to the server, it can be done manually in the UI encoding by using the event ``load`` of the ``window``. An example is provided below, which is used in the `ast example `_. - .. code-block:: - + .. code-block:: + when(window, load, context, (selected_node, X)):- _clinguin_context(selected_node, X). @@ -124,7 +124,7 @@ JSON UI .. figure:: ../../json.png -The :ref:`ui-state` is represented by a JSON to comunicate between client and server. This JSON is generated in a herachical fashion where each element apears with the following form. +The :ref:`ui-state` is represented by a JSON to comunicate between client and server. This JSON is generated in a herachical fashion where each element apears with the following form. .. code-block:: @@ -132,7 +132,7 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se "id": , "type": , "parent": , - "attributes": + "attributes": [ { "id": , @@ -141,13 +141,13 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se }, ... ], - "when": + "when": [ { "id": , "event": , "interaction_type": , - "policy": + "operation": } ], "children": [] @@ -155,7 +155,7 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se .. admonition:: Example - + The following :ref:`ui-state` the corresponding JSON UI can be found below. @@ -200,7 +200,7 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se "id":"b1", "event":"click", "interaction_type":"call", - "policy":"next_solution" + "operation":"next_solution" } ], "children":[] diff --git a/tests/reference_json_output/basic_test_01.py b/tests/reference_json_output/basic_test_01.py index 4c3d9094..023156f6 100644 --- a/tests/reference_json_output/basic_test_01.py +++ b/tests/reference_json_output/basic_test_01.py @@ -43,7 +43,7 @@ def get_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -60,7 +60,7 @@ def get_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -130,7 +130,7 @@ def post_p_1_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -200,7 +200,7 @@ def get_p_1_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -270,7 +270,7 @@ def post_p_2_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -339,7 +339,7 @@ def get_p_2_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], diff --git a/tests/reference_json_output/basic_test_03.py b/tests/reference_json_output/basic_test_03.py index 5f091604..6442b400 100644 --- a/tests/reference_json_output/basic_test_03.py +++ b/tests/reference_json_output/basic_test_03.py @@ -101,7 +101,7 @@ def get_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -122,7 +122,7 @@ def get_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -519,7 +519,7 @@ def get_reference_json(cls): "id": "b", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -563,7 +563,7 @@ def get_reference_json(cls): "id": "l1", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -675,7 +675,7 @@ def post_p_1_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -1072,7 +1072,7 @@ def post_p_1_reference_json(cls): "id": "b", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -1116,7 +1116,7 @@ def post_p_1_reference_json(cls): "id": "l1", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -1227,7 +1227,7 @@ def post_p_2_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -1248,7 +1248,7 @@ def post_p_2_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -1645,7 +1645,7 @@ def post_p_2_reference_json(cls): "id": "b", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -1689,7 +1689,7 @@ def post_p_2_reference_json(cls): "id": "l1", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -1800,7 +1800,7 @@ def post_p_3_reference_json(cls): "id": "mi(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -1821,7 +1821,7 @@ def post_p_3_reference_json(cls): "id": "mi(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -2218,7 +2218,7 @@ def post_p_3_reference_json(cls): "id": "b", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -2262,7 +2262,7 @@ def post_p_3_reference_json(cls): "id": "l1", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], diff --git a/tests/reference_json_output/basic_test_04.py b/tests/reference_json_output/basic_test_04.py index 587cd225..ce306284 100644 --- a/tests/reference_json_output/basic_test_04.py +++ b/tests/reference_json_output/basic_test_04.py @@ -76,7 +76,7 @@ def get_reference_json(cls): "id": "ms1i2", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -318,7 +318,7 @@ def get_reference_json(cls): "id": "b", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], diff --git a/tests/reference_json_output/basic_test_09.py b/tests/reference_json_output/basic_test_09.py index 615d7b2d..ad099d36 100644 --- a/tests/reference_json_output/basic_test_09.py +++ b/tests/reference_json_output/basic_test_09.py @@ -40,7 +40,7 @@ def get_reference_json(cls): "id": "dmp(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -57,7 +57,7 @@ def get_reference_json(cls): "id": "dmp(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -93,7 +93,7 @@ def get_reference_json(cls): "id": "l", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -145,7 +145,7 @@ def post_p_1_reference_json(cls): "id": "dmp(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -181,7 +181,7 @@ def post_p_1_reference_json(cls): "id": "l", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -233,7 +233,7 @@ def get_p_2_reference_json(cls): "id": "dmp(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -269,7 +269,7 @@ def get_p_2_reference_json(cls): "id": "l", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -319,7 +319,7 @@ def post_p_3_reference_json(cls): "id": "dmp(1)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(1))", + "operation": "add_assumption(p(1))", } ], "children": [], @@ -336,7 +336,7 @@ def post_p_3_reference_json(cls): "id": "dmp(2)", "event": "click", "interaction_type": "callback", - "policy": "add_assumption(p(2))", + "operation": "add_assumption(p(2))", } ], "children": [], @@ -372,7 +372,7 @@ def post_p_3_reference_json(cls): "id": "l", "event": "click", "interaction_type": "callback", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], diff --git a/tests/reference_json_output/basic_test_12.py b/tests/reference_json_output/basic_test_12.py index 12f7839f..07b514d1 100644 --- a/tests/reference_json_output/basic_test_12.py +++ b/tests/reference_json_output/basic_test_12.py @@ -54,7 +54,7 @@ def get_reference_json(cls): "id": "b1", "event": "click", "interaction_type": "callback", - "policy": "add_atom(name(_context_value(t1_content)))", + "operation": "add_atom(name(_context_value(t1_content)))", } ], "children": [], @@ -75,7 +75,7 @@ def get_reference_json(cls): "id": "t1", "event": "input", "interaction_type": "context", - "policy": "(t1_content,_value)", + "operation": "(t1_content,_value)", } ], "children": [], diff --git a/tests/reference_json_output/coloring.py b/tests/reference_json_output/coloring.py index dc427f48..9b2a1002 100644 --- a/tests/reference_json_output/coloring.py +++ b/tests/reference_json_output/coloring.py @@ -66,7 +66,7 @@ def get_reference_json(cls): { "id": "dmc(6)", "action": "clear", - "policy": "remove_assumption_signature(assign(6,any))", + "operation": "remove_assumption_signature(assign(6,any))", } ], "children": [ @@ -85,7 +85,7 @@ def get_reference_json(cls): { "id": "dmi(6,blue)", "action": "click", - "policy": "add_assumption(assign(6,blue))", + "operation": "add_assumption(assign(6,blue))", } ], "children": [], @@ -105,7 +105,7 @@ def get_reference_json(cls): { "id": "dmi(6,green)", "action": "click", - "policy": "add_assumption(assign(6,green))", + "operation": "add_assumption(assign(6,green))", } ], "children": [], @@ -125,7 +125,7 @@ def get_reference_json(cls): { "id": "dmi(6,red)", "action": "click", - "policy": "add_assumption(assign(6,red))", + "operation": "add_assumption(assign(6,red))", } ], "children": [], @@ -190,7 +190,7 @@ def get_reference_json(cls): { "id": "dmc(5)", "action": "clear", - "policy": "remove_assumption_signature(assign(5,any))", + "operation": "remove_assumption_signature(assign(5,any))", } ], "children": [ @@ -209,7 +209,7 @@ def get_reference_json(cls): { "id": "dmi(5,blue)", "action": "click", - "policy": "add_assumption(assign(5,blue))", + "operation": "add_assumption(assign(5,blue))", } ], "children": [], @@ -229,7 +229,7 @@ def get_reference_json(cls): { "id": "dmi(5,green)", "action": "click", - "policy": "add_assumption(assign(5,green))", + "operation": "add_assumption(assign(5,green))", } ], "children": [], @@ -249,7 +249,7 @@ def get_reference_json(cls): { "id": "dmi(5,red)", "action": "click", - "policy": "add_assumption(assign(5,red))", + "operation": "add_assumption(assign(5,red))", } ], "children": [], @@ -314,7 +314,7 @@ def get_reference_json(cls): { "id": "dmc(4)", "action": "clear", - "policy": "remove_assumption_signature(assign(4,any))", + "operation": "remove_assumption_signature(assign(4,any))", } ], "children": [ @@ -333,7 +333,7 @@ def get_reference_json(cls): { "id": "dmi(4,blue)", "action": "click", - "policy": "add_assumption(assign(4,blue))", + "operation": "add_assumption(assign(4,blue))", } ], "children": [], @@ -353,7 +353,7 @@ def get_reference_json(cls): { "id": "dmi(4,green)", "action": "click", - "policy": "add_assumption(assign(4,green))", + "operation": "add_assumption(assign(4,green))", } ], "children": [], @@ -373,7 +373,7 @@ def get_reference_json(cls): { "id": "dmi(4,red)", "action": "click", - "policy": "add_assumption(assign(4,red))", + "operation": "add_assumption(assign(4,red))", } ], "children": [], @@ -438,7 +438,7 @@ def get_reference_json(cls): { "id": "dmc(3)", "action": "clear", - "policy": "remove_assumption_signature(assign(3,any))", + "operation": "remove_assumption_signature(assign(3,any))", } ], "children": [ @@ -457,7 +457,7 @@ def get_reference_json(cls): { "id": "dmi(3,blue)", "action": "click", - "policy": "add_assumption(assign(3,blue))", + "operation": "add_assumption(assign(3,blue))", } ], "children": [], @@ -477,7 +477,7 @@ def get_reference_json(cls): { "id": "dmi(3,green)", "action": "click", - "policy": "add_assumption(assign(3,green))", + "operation": "add_assumption(assign(3,green))", } ], "children": [], @@ -497,7 +497,7 @@ def get_reference_json(cls): { "id": "dmi(3,red)", "action": "click", - "policy": "add_assumption(assign(3,red))", + "operation": "add_assumption(assign(3,red))", } ], "children": [], @@ -562,7 +562,7 @@ def get_reference_json(cls): { "id": "dmc(2)", "action": "clear", - "policy": "remove_assumption_signature(assign(2,any))", + "operation": "remove_assumption_signature(assign(2,any))", } ], "children": [ @@ -581,7 +581,7 @@ def get_reference_json(cls): { "id": "dmi(2,blue)", "action": "click", - "policy": "add_assumption(assign(2,blue))", + "operation": "add_assumption(assign(2,blue))", } ], "children": [], @@ -601,7 +601,7 @@ def get_reference_json(cls): { "id": "dmi(2,green)", "action": "click", - "policy": "add_assumption(assign(2,green))", + "operation": "add_assumption(assign(2,green))", } ], "children": [], @@ -621,7 +621,7 @@ def get_reference_json(cls): { "id": "dmi(2,red)", "action": "click", - "policy": "add_assumption(assign(2,red))", + "operation": "add_assumption(assign(2,red))", } ], "children": [], @@ -686,7 +686,7 @@ def get_reference_json(cls): { "id": "dmc(1)", "action": "clear", - "policy": "remove_assumption_signature(assign(1,any))", + "operation": "remove_assumption_signature(assign(1,any))", } ], "children": [ @@ -705,7 +705,7 @@ def get_reference_json(cls): { "id": "dmi(1,blue)", "action": "click", - "policy": "add_assumption(assign(1,blue))", + "operation": "add_assumption(assign(1,blue))", } ], "children": [], @@ -725,7 +725,7 @@ def get_reference_json(cls): { "id": "dmi(1,green)", "action": "click", - "policy": "add_assumption(assign(1,green))", + "operation": "add_assumption(assign(1,green))", } ], "children": [], @@ -745,7 +745,7 @@ def get_reference_json(cls): { "id": "dmi(1,red)", "action": "click", - "policy": "add_assumption(assign(1,red))", + "operation": "add_assumption(assign(1,red))", } ], "children": [], @@ -852,7 +852,7 @@ def post_assumption_1(cls): { "id": "dmc(6)", "action": "clear", - "policy": "remove_assumption_signature(assign(6,any))", + "operation": "remove_assumption_signature(assign(6,any))", } ], "children": [ @@ -871,7 +871,7 @@ def post_assumption_1(cls): { "id": "dmi(6,blue)", "action": "click", - "policy": "add_assumption(assign(6,blue))", + "operation": "add_assumption(assign(6,blue))", } ], "children": [], @@ -891,7 +891,7 @@ def post_assumption_1(cls): { "id": "dmi(6,green)", "action": "click", - "policy": "add_assumption(assign(6,green))", + "operation": "add_assumption(assign(6,green))", } ], "children": [], @@ -911,7 +911,7 @@ def post_assumption_1(cls): { "id": "dmi(6,red)", "action": "click", - "policy": "add_assumption(assign(6,red))", + "operation": "add_assumption(assign(6,red))", } ], "children": [], @@ -976,7 +976,7 @@ def post_assumption_1(cls): { "id": "dmc(5)", "action": "clear", - "policy": "remove_assumption_signature(assign(5,any))", + "operation": "remove_assumption_signature(assign(5,any))", } ], "children": [ @@ -995,7 +995,7 @@ def post_assumption_1(cls): { "id": "dmi(5,blue)", "action": "click", - "policy": "add_assumption(assign(5,blue))", + "operation": "add_assumption(assign(5,blue))", } ], "children": [], @@ -1015,7 +1015,7 @@ def post_assumption_1(cls): { "id": "dmi(5,green)", "action": "click", - "policy": "add_assumption(assign(5,green))", + "operation": "add_assumption(assign(5,green))", } ], "children": [], @@ -1035,7 +1035,7 @@ def post_assumption_1(cls): { "id": "dmi(5,red)", "action": "click", - "policy": "add_assumption(assign(5,red))", + "operation": "add_assumption(assign(5,red))", } ], "children": [], @@ -1105,7 +1105,7 @@ def post_assumption_1(cls): { "id": "dmc(1)", "action": "clear", - "policy": "remove_assumption_signature(assign(1,any))", + "operation": "remove_assumption_signature(assign(1,any))", } ], "children": [ @@ -1124,7 +1124,7 @@ def post_assumption_1(cls): { "id": "dmi(1,blue)", "action": "click", - "policy": "add_assumption(assign(1,blue))", + "operation": "add_assumption(assign(1,blue))", } ], "children": [], @@ -1189,7 +1189,7 @@ def post_assumption_1(cls): { "id": "dmc(4)", "action": "clear", - "policy": "remove_assumption_signature(assign(4,any))", + "operation": "remove_assumption_signature(assign(4,any))", } ], "children": [ @@ -1208,7 +1208,7 @@ def post_assumption_1(cls): { "id": "dmi(4,green)", "action": "click", - "policy": "add_assumption(assign(4,green))", + "operation": "add_assumption(assign(4,green))", } ], "children": [], @@ -1228,7 +1228,7 @@ def post_assumption_1(cls): { "id": "dmi(4,red)", "action": "click", - "policy": "add_assumption(assign(4,red))", + "operation": "add_assumption(assign(4,red))", } ], "children": [], @@ -1293,7 +1293,7 @@ def post_assumption_1(cls): { "id": "dmc(3)", "action": "clear", - "policy": "remove_assumption_signature(assign(3,any))", + "operation": "remove_assumption_signature(assign(3,any))", } ], "children": [ @@ -1312,7 +1312,7 @@ def post_assumption_1(cls): { "id": "dmi(3,green)", "action": "click", - "policy": "add_assumption(assign(3,green))", + "operation": "add_assumption(assign(3,green))", } ], "children": [], @@ -1332,7 +1332,7 @@ def post_assumption_1(cls): { "id": "dmi(3,red)", "action": "click", - "policy": "add_assumption(assign(3,red))", + "operation": "add_assumption(assign(3,red))", } ], "children": [], @@ -1397,7 +1397,7 @@ def post_assumption_1(cls): { "id": "dmc(2)", "action": "clear", - "policy": "remove_assumption_signature(assign(2,any))", + "operation": "remove_assumption_signature(assign(2,any))", } ], "children": [ @@ -1416,7 +1416,7 @@ def post_assumption_1(cls): { "id": "dmi(2,green)", "action": "click", - "policy": "add_assumption(assign(2,green))", + "operation": "add_assumption(assign(2,green))", } ], "children": [], @@ -1436,7 +1436,7 @@ def post_assumption_1(cls): { "id": "dmi(2,red)", "action": "click", - "policy": "add_assumption(assign(2,red))", + "operation": "add_assumption(assign(2,red))", } ], "children": [], @@ -1543,7 +1543,7 @@ def post_assumption_2(cls): { "id": "dmc(6)", "action": "clear", - "policy": "remove_assumption_signature(assign(6,any))", + "operation": "remove_assumption_signature(assign(6,any))", } ], "children": [ @@ -1562,7 +1562,7 @@ def post_assumption_2(cls): { "id": "dmi(6,blue)", "action": "click", - "policy": "add_assumption(assign(6,blue))", + "operation": "add_assumption(assign(6,blue))", } ], "children": [], @@ -1582,7 +1582,7 @@ def post_assumption_2(cls): { "id": "dmi(6,red)", "action": "click", - "policy": "add_assumption(assign(6,red))", + "operation": "add_assumption(assign(6,red))", } ], "children": [], @@ -1647,7 +1647,7 @@ def post_assumption_2(cls): { "id": "dmc(5)", "action": "clear", - "policy": "remove_assumption_signature(assign(5,any))", + "operation": "remove_assumption_signature(assign(5,any))", } ], "children": [ @@ -1666,7 +1666,7 @@ def post_assumption_2(cls): { "id": "dmi(5,blue)", "action": "click", - "policy": "add_assumption(assign(5,blue))", + "operation": "add_assumption(assign(5,blue))", } ], "children": [], @@ -1686,7 +1686,7 @@ def post_assumption_2(cls): { "id": "dmi(5,red)", "action": "click", - "policy": "add_assumption(assign(5,red))", + "operation": "add_assumption(assign(5,red))", } ], "children": [], @@ -1756,7 +1756,7 @@ def post_assumption_2(cls): { "id": "dmc(1)", "action": "clear", - "policy": "remove_assumption_signature(assign(1,any))", + "operation": "remove_assumption_signature(assign(1,any))", } ], "children": [ @@ -1775,7 +1775,7 @@ def post_assumption_2(cls): { "id": "dmi(1,blue)", "action": "click", - "policy": "add_assumption(assign(1,blue))", + "operation": "add_assumption(assign(1,blue))", } ], "children": [], @@ -1845,7 +1845,7 @@ def post_assumption_2(cls): { "id": "dmc(3)", "action": "clear", - "policy": "remove_assumption_signature(assign(3,any))", + "operation": "remove_assumption_signature(assign(3,any))", } ], "children": [ @@ -1864,7 +1864,7 @@ def post_assumption_2(cls): { "id": "dmi(3,green)", "action": "click", - "policy": "add_assumption(assign(3,green))", + "operation": "add_assumption(assign(3,green))", } ], "children": [], @@ -1934,7 +1934,7 @@ def post_assumption_2(cls): { "id": "dmc(2)", "action": "clear", - "policy": "remove_assumption_signature(assign(2,any))", + "operation": "remove_assumption_signature(assign(2,any))", } ], "children": [ @@ -1953,7 +1953,7 @@ def post_assumption_2(cls): { "id": "dmi(2,green)", "action": "click", - "policy": "add_assumption(assign(2,green))", + "operation": "add_assumption(assign(2,green))", } ], "children": [], @@ -2023,7 +2023,7 @@ def post_assumption_2(cls): { "id": "dmc(4)", "action": "clear", - "policy": "remove_assumption_signature(assign(4,any))", + "operation": "remove_assumption_signature(assign(4,any))", } ], "children": [ @@ -2042,7 +2042,7 @@ def post_assumption_2(cls): { "id": "dmi(4,red)", "action": "click", - "policy": "add_assumption(assign(4,red))", + "operation": "add_assumption(assign(4,red))", } ], "children": [], @@ -2154,7 +2154,7 @@ def post_assumption_3(cls): { "id": "dmc(5)", "action": "clear", - "policy": "remove_assumption_signature(assign(5,any))", + "operation": "remove_assumption_signature(assign(5,any))", } ], "children": [ @@ -2173,7 +2173,7 @@ def post_assumption_3(cls): { "id": "dmi(5,blue)", "action": "click", - "policy": "add_assumption(assign(5,blue))", + "operation": "add_assumption(assign(5,blue))", } ], "children": [], @@ -2243,7 +2243,7 @@ def post_assumption_3(cls): { "id": "dmc(1)", "action": "clear", - "policy": "remove_assumption_signature(assign(1,any))", + "operation": "remove_assumption_signature(assign(1,any))", } ], "children": [ @@ -2262,7 +2262,7 @@ def post_assumption_3(cls): { "id": "dmi(1,blue)", "action": "click", - "policy": "add_assumption(assign(1,blue))", + "operation": "add_assumption(assign(1,blue))", } ], "children": [], @@ -2332,7 +2332,7 @@ def post_assumption_3(cls): { "id": "dmc(3)", "action": "clear", - "policy": "remove_assumption_signature(assign(3,any))", + "operation": "remove_assumption_signature(assign(3,any))", } ], "children": [ @@ -2351,7 +2351,7 @@ def post_assumption_3(cls): { "id": "dmi(3,green)", "action": "click", - "policy": "add_assumption(assign(3,green))", + "operation": "add_assumption(assign(3,green))", } ], "children": [], @@ -2421,7 +2421,7 @@ def post_assumption_3(cls): { "id": "dmc(2)", "action": "clear", - "policy": "remove_assumption_signature(assign(2,any))", + "operation": "remove_assumption_signature(assign(2,any))", } ], "children": [ @@ -2440,7 +2440,7 @@ def post_assumption_3(cls): { "id": "dmi(2,green)", "action": "click", - "policy": "add_assumption(assign(2,green))", + "operation": "add_assumption(assign(2,green))", } ], "children": [], @@ -2510,7 +2510,7 @@ def post_assumption_3(cls): { "id": "dmc(6)", "action": "clear", - "policy": "remove_assumption_signature(assign(6,any))", + "operation": "remove_assumption_signature(assign(6,any))", } ], "children": [ @@ -2529,7 +2529,7 @@ def post_assumption_3(cls): { "id": "dmi(6,red)", "action": "click", - "policy": "add_assumption(assign(6,red))", + "operation": "add_assumption(assign(6,red))", } ], "children": [], @@ -2599,7 +2599,7 @@ def post_assumption_3(cls): { "id": "dmc(4)", "action": "clear", - "policy": "remove_assumption_signature(assign(4,any))", + "operation": "remove_assumption_signature(assign(4,any))", } ], "children": [ @@ -2618,7 +2618,7 @@ def post_assumption_3(cls): { "id": "dmi(4,red)", "action": "click", - "policy": "add_assumption(assign(4,red))", + "operation": "add_assumption(assign(4,red))", } ], "children": [], diff --git a/tests/reference_json_output/sudoku.py b/tests/reference_json_output/sudoku.py index 30c7b560..2a2ee149 100644 --- a/tests/reference_json_output/sudoku.py +++ b/tests/reference_json_output/sudoku.py @@ -57,7 +57,7 @@ def get_reference_json(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -76,7 +76,7 @@ def get_reference_json(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -96,7 +96,7 @@ def get_reference_json(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -116,7 +116,7 @@ def get_reference_json(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -157,7 +157,7 @@ def get_reference_json(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -176,7 +176,7 @@ def get_reference_json(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -196,7 +196,7 @@ def get_reference_json(cls): { "id": "mi(5,9,5)", "action": "click", - "policy": "add_assumption(sudoku(5,9,5))", + "operation": "add_assumption(sudoku(5,9,5))", } ], "children": [], @@ -216,7 +216,7 @@ def get_reference_json(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -236,7 +236,7 @@ def get_reference_json(cls): { "id": "mi(5,9,1)", "action": "click", - "policy": "add_assumption(sudoku(5,9,1))", + "operation": "add_assumption(sudoku(5,9,1))", } ], "children": [], @@ -277,7 +277,7 @@ def get_reference_json(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -296,7 +296,7 @@ def get_reference_json(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -316,7 +316,7 @@ def get_reference_json(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -336,7 +336,7 @@ def get_reference_json(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -356,7 +356,7 @@ def get_reference_json(cls): { "id": "mi(2,9,5)", "action": "click", - "policy": "add_assumption(sudoku(2,9,5))", + "operation": "add_assumption(sudoku(2,9,5))", } ], "children": [], @@ -376,7 +376,7 @@ def get_reference_json(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -417,7 +417,7 @@ def get_reference_json(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -436,7 +436,7 @@ def get_reference_json(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -456,7 +456,7 @@ def get_reference_json(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -476,7 +476,7 @@ def get_reference_json(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -517,7 +517,7 @@ def get_reference_json(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -536,7 +536,7 @@ def get_reference_json(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -556,7 +556,7 @@ def get_reference_json(cls): { "id": "mi(5,8,5)", "action": "click", - "policy": "add_assumption(sudoku(5,8,5))", + "operation": "add_assumption(sudoku(5,8,5))", } ], "children": [], @@ -576,7 +576,7 @@ def get_reference_json(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -596,7 +596,7 @@ def get_reference_json(cls): { "id": "mi(5,8,1)", "action": "click", - "policy": "add_assumption(sudoku(5,8,1))", + "operation": "add_assumption(sudoku(5,8,1))", } ], "children": [], @@ -637,7 +637,7 @@ def get_reference_json(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -656,7 +656,7 @@ def get_reference_json(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -676,7 +676,7 @@ def get_reference_json(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -696,7 +696,7 @@ def get_reference_json(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -716,7 +716,7 @@ def get_reference_json(cls): { "id": "mi(2,8,5)", "action": "click", - "policy": "add_assumption(sudoku(2,8,5))", + "operation": "add_assumption(sudoku(2,8,5))", } ], "children": [], @@ -736,7 +736,7 @@ def get_reference_json(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -777,7 +777,7 @@ def get_reference_json(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -796,7 +796,7 @@ def get_reference_json(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -816,7 +816,7 @@ def get_reference_json(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -857,7 +857,7 @@ def get_reference_json(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -876,7 +876,7 @@ def get_reference_json(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -896,7 +896,7 @@ def get_reference_json(cls): { "id": "mi(2,7,5)", "action": "click", - "policy": "add_assumption(sudoku(2,7,5))", + "operation": "add_assumption(sudoku(2,7,5))", } ], "children": [], @@ -916,7 +916,7 @@ def get_reference_json(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -962,7 +962,7 @@ def get_reference_json(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -981,7 +981,7 @@ def get_reference_json(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -1027,7 +1027,7 @@ def get_reference_json(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -1046,7 +1046,7 @@ def get_reference_json(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -1087,7 +1087,7 @@ def get_reference_json(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -1106,7 +1106,7 @@ def get_reference_json(cls): { "id": "mi(1,9,8)", "action": "click", - "policy": "add_assumption(sudoku(1,9,8))", + "operation": "add_assumption(sudoku(1,9,8))", } ], "children": [], @@ -1126,7 +1126,7 @@ def get_reference_json(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -1146,7 +1146,7 @@ def get_reference_json(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -1166,7 +1166,7 @@ def get_reference_json(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -1207,7 +1207,7 @@ def get_reference_json(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -1226,7 +1226,7 @@ def get_reference_json(cls): { "id": "mi(1,8,8)", "action": "click", - "policy": "add_assumption(sudoku(1,8,8))", + "operation": "add_assumption(sudoku(1,8,8))", } ], "children": [], @@ -1246,7 +1246,7 @@ def get_reference_json(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -1266,7 +1266,7 @@ def get_reference_json(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -1286,7 +1286,7 @@ def get_reference_json(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -1332,7 +1332,7 @@ def get_reference_json(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -1351,7 +1351,7 @@ def get_reference_json(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -1392,7 +1392,7 @@ def get_reference_json(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -1411,7 +1411,7 @@ def get_reference_json(cls): { "id": "mi(2,3,8)", "action": "click", - "policy": "add_assumption(sudoku(2,3,8))", + "operation": "add_assumption(sudoku(2,3,8))", } ], "children": [], @@ -1431,7 +1431,7 @@ def get_reference_json(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -1451,7 +1451,7 @@ def get_reference_json(cls): { "id": "mi(2,3,2)", "action": "click", - "policy": "add_assumption(sudoku(2,3,2))", + "operation": "add_assumption(sudoku(2,3,2))", } ], "children": [], @@ -1492,7 +1492,7 @@ def get_reference_json(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -1511,7 +1511,7 @@ def get_reference_json(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -1531,7 +1531,7 @@ def get_reference_json(cls): { "id": "mi(1,3,2)", "action": "click", - "policy": "add_assumption(sudoku(1,3,2))", + "operation": "add_assumption(sudoku(1,3,2))", } ], "children": [], @@ -1577,7 +1577,7 @@ def get_reference_json(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -1596,7 +1596,7 @@ def get_reference_json(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -1637,7 +1637,7 @@ def get_reference_json(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -1656,7 +1656,7 @@ def get_reference_json(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -1676,7 +1676,7 @@ def get_reference_json(cls): { "id": "mi(9,9,4)", "action": "click", - "policy": "add_assumption(sudoku(9,9,4))", + "operation": "add_assumption(sudoku(9,9,4))", } ], "children": [], @@ -1696,7 +1696,7 @@ def get_reference_json(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -1737,7 +1737,7 @@ def get_reference_json(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -1756,7 +1756,7 @@ def get_reference_json(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -1776,7 +1776,7 @@ def get_reference_json(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -1796,7 +1796,7 @@ def get_reference_json(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -1816,7 +1816,7 @@ def get_reference_json(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -1857,7 +1857,7 @@ def get_reference_json(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -1876,7 +1876,7 @@ def get_reference_json(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -1896,7 +1896,7 @@ def get_reference_json(cls): { "id": "mi(9,8,4)", "action": "click", - "policy": "add_assumption(sudoku(9,8,4))", + "operation": "add_assumption(sudoku(9,8,4))", } ], "children": [], @@ -1916,7 +1916,7 @@ def get_reference_json(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -1957,7 +1957,7 @@ def get_reference_json(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -1976,7 +1976,7 @@ def get_reference_json(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -1996,7 +1996,7 @@ def get_reference_json(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -2016,7 +2016,7 @@ def get_reference_json(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -2036,7 +2036,7 @@ def get_reference_json(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -2082,7 +2082,7 @@ def get_reference_json(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -2101,7 +2101,7 @@ def get_reference_json(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -2142,7 +2142,7 @@ def get_reference_json(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -2161,7 +2161,7 @@ def get_reference_json(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -2181,7 +2181,7 @@ def get_reference_json(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -2222,7 +2222,7 @@ def get_reference_json(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -2241,7 +2241,7 @@ def get_reference_json(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -2261,7 +2261,7 @@ def get_reference_json(cls): { "id": "mi(2,1,5)", "action": "click", - "policy": "add_assumption(sudoku(2,1,5))", + "operation": "add_assumption(sudoku(2,1,5))", } ], "children": [], @@ -2281,7 +2281,7 @@ def get_reference_json(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -2322,7 +2322,7 @@ def get_reference_json(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -2341,7 +2341,7 @@ def get_reference_json(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -2361,7 +2361,7 @@ def get_reference_json(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -2381,7 +2381,7 @@ def get_reference_json(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -2422,7 +2422,7 @@ def get_reference_json(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -2441,7 +2441,7 @@ def get_reference_json(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -2461,7 +2461,7 @@ def get_reference_json(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -2481,7 +2481,7 @@ def get_reference_json(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -2501,7 +2501,7 @@ def get_reference_json(cls): { "id": "mi(4,9,1)", "action": "click", - "policy": "add_assumption(sudoku(4,9,1))", + "operation": "add_assumption(sudoku(4,9,1))", } ], "children": [], @@ -2542,7 +2542,7 @@ def get_reference_json(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -2561,7 +2561,7 @@ def get_reference_json(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -2581,7 +2581,7 @@ def get_reference_json(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -2601,7 +2601,7 @@ def get_reference_json(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -2642,7 +2642,7 @@ def get_reference_json(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -2661,7 +2661,7 @@ def get_reference_json(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -2681,7 +2681,7 @@ def get_reference_json(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -2701,7 +2701,7 @@ def get_reference_json(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -2721,7 +2721,7 @@ def get_reference_json(cls): { "id": "mi(4,8,1)", "action": "click", - "policy": "add_assumption(sudoku(4,8,1))", + "operation": "add_assumption(sudoku(4,8,1))", } ], "children": [], @@ -2767,7 +2767,7 @@ def get_reference_json(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -2786,7 +2786,7 @@ def get_reference_json(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -2832,7 +2832,7 @@ def get_reference_json(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -2851,7 +2851,7 @@ def get_reference_json(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -2892,7 +2892,7 @@ def get_reference_json(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -2911,7 +2911,7 @@ def get_reference_json(cls): { "id": "mi(6,9,5)", "action": "click", - "policy": "add_assumption(sudoku(6,9,5))", + "operation": "add_assumption(sudoku(6,9,5))", } ], "children": [], @@ -2931,7 +2931,7 @@ def get_reference_json(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -2951,7 +2951,7 @@ def get_reference_json(cls): { "id": "mi(6,9,3)", "action": "click", - "policy": "add_assumption(sudoku(6,9,3))", + "operation": "add_assumption(sudoku(6,9,3))", } ], "children": [], @@ -2971,7 +2971,7 @@ def get_reference_json(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -3012,7 +3012,7 @@ def get_reference_json(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -3031,7 +3031,7 @@ def get_reference_json(cls): { "id": "mi(6,8,5)", "action": "click", - "policy": "add_assumption(sudoku(6,8,5))", + "operation": "add_assumption(sudoku(6,8,5))", } ], "children": [], @@ -3051,7 +3051,7 @@ def get_reference_json(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -3071,7 +3071,7 @@ def get_reference_json(cls): { "id": "mi(6,8,3)", "action": "click", - "policy": "add_assumption(sudoku(6,8,3))", + "operation": "add_assumption(sudoku(6,8,3))", } ], "children": [], @@ -3091,7 +3091,7 @@ def get_reference_json(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -3132,7 +3132,7 @@ def get_reference_json(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -3151,7 +3151,7 @@ def get_reference_json(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -3171,7 +3171,7 @@ def get_reference_json(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -3191,7 +3191,7 @@ def get_reference_json(cls): { "id": "mi(4,7,1)", "action": "click", - "policy": "add_assumption(sudoku(4,7,1))", + "operation": "add_assumption(sudoku(4,7,1))", } ], "children": [], @@ -3232,7 +3232,7 @@ def get_reference_json(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -3251,7 +3251,7 @@ def get_reference_json(cls): { "id": "mi(6,6,5)", "action": "click", - "policy": "add_assumption(sudoku(6,6,5))", + "operation": "add_assumption(sudoku(6,6,5))", } ], "children": [], @@ -3271,7 +3271,7 @@ def get_reference_json(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -3312,7 +3312,7 @@ def get_reference_json(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -3331,7 +3331,7 @@ def get_reference_json(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -3351,7 +3351,7 @@ def get_reference_json(cls): { "id": "mi(5,6,3)", "action": "click", - "policy": "add_assumption(sudoku(5,6,3))", + "operation": "add_assumption(sudoku(5,6,3))", } ], "children": [], @@ -3397,7 +3397,7 @@ def get_reference_json(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -3416,7 +3416,7 @@ def get_reference_json(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -3457,7 +3457,7 @@ def get_reference_json(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -3476,7 +3476,7 @@ def get_reference_json(cls): { "id": "mi(5,2,5)", "action": "click", - "policy": "add_assumption(sudoku(5,2,5))", + "operation": "add_assumption(sudoku(5,2,5))", } ], "children": [], @@ -3496,7 +3496,7 @@ def get_reference_json(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -3516,7 +3516,7 @@ def get_reference_json(cls): { "id": "mi(5,2,1)", "action": "click", - "policy": "add_assumption(sudoku(5,2,1))", + "operation": "add_assumption(sudoku(5,2,1))", } ], "children": [], @@ -3557,7 +3557,7 @@ def get_reference_json(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -3576,7 +3576,7 @@ def get_reference_json(cls): { "id": "mi(4,2,5)", "action": "click", - "policy": "add_assumption(sudoku(4,2,5))", + "operation": "add_assumption(sudoku(4,2,5))", } ], "children": [], @@ -3596,7 +3596,7 @@ def get_reference_json(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -3637,7 +3637,7 @@ def get_reference_json(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -3656,7 +3656,7 @@ def get_reference_json(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -3676,7 +3676,7 @@ def get_reference_json(cls): { "id": "mi(2,2,4)", "action": "click", - "policy": "add_assumption(sudoku(2,2,4))", + "operation": "add_assumption(sudoku(2,2,4))", } ], "children": [], @@ -3717,7 +3717,7 @@ def get_reference_json(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -3736,7 +3736,7 @@ def get_reference_json(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -3756,7 +3756,7 @@ def get_reference_json(cls): { "id": "mi(6,1,2)", "action": "click", - "policy": "add_assumption(sudoku(6,1,2))", + "operation": "add_assumption(sudoku(6,1,2))", } ], "children": [], @@ -3797,7 +3797,7 @@ def get_reference_json(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -3816,7 +3816,7 @@ def get_reference_json(cls): { "id": "mi(1,1,5)", "action": "click", - "policy": "add_assumption(sudoku(1,1,5))", + "operation": "add_assumption(sudoku(1,1,5))", } ], "children": [], @@ -3836,7 +3836,7 @@ def get_reference_json(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -3856,7 +3856,7 @@ def get_reference_json(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -3897,7 +3897,7 @@ def get_reference_json(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -3916,7 +3916,7 @@ def get_reference_json(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -3936,7 +3936,7 @@ def get_reference_json(cls): { "id": "mi(9,7,2)", "action": "click", - "policy": "add_assumption(sudoku(9,7,2))", + "operation": "add_assumption(sudoku(9,7,2))", } ], "children": [], @@ -3977,7 +3977,7 @@ def get_reference_json(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -3996,7 +3996,7 @@ def get_reference_json(cls): { "id": "mi(3,7,4)", "action": "click", - "policy": "add_assumption(sudoku(3,7,4))", + "operation": "add_assumption(sudoku(3,7,4))", } ], "children": [], @@ -4016,7 +4016,7 @@ def get_reference_json(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -4036,7 +4036,7 @@ def get_reference_json(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -4082,7 +4082,7 @@ def get_reference_json(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -4101,7 +4101,7 @@ def get_reference_json(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -4142,7 +4142,7 @@ def get_reference_json(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -4161,7 +4161,7 @@ def get_reference_json(cls): { "id": "mi(5,3,4)", "action": "click", - "policy": "add_assumption(sudoku(5,3,4))", + "operation": "add_assumption(sudoku(5,3,4))", } ], "children": [], @@ -4181,7 +4181,7 @@ def get_reference_json(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -4222,7 +4222,7 @@ def get_reference_json(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -4241,7 +4241,7 @@ def get_reference_json(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -4261,7 +4261,7 @@ def get_reference_json(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -4307,7 +4307,7 @@ def get_reference_json(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -4326,7 +4326,7 @@ def get_reference_json(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -4372,7 +4372,7 @@ def get_reference_json(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -4391,7 +4391,7 @@ def get_reference_json(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -4437,7 +4437,7 @@ def get_reference_json(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -4456,7 +4456,7 @@ def get_reference_json(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -4497,7 +4497,7 @@ def get_reference_json(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -4516,7 +4516,7 @@ def get_reference_json(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -4536,7 +4536,7 @@ def get_reference_json(cls): { "id": "mi(6,4,1)", "action": "click", - "policy": "add_assumption(sudoku(6,4,1))", + "operation": "add_assumption(sudoku(6,4,1))", } ], "children": [], @@ -4577,7 +4577,7 @@ def get_reference_json(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -4596,7 +4596,7 @@ def get_reference_json(cls): { "id": "mi(5,4,2)", "action": "click", - "policy": "add_assumption(sudoku(5,4,2))", + "operation": "add_assumption(sudoku(5,4,2))", } ], "children": [], @@ -4616,7 +4616,7 @@ def get_reference_json(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -4662,7 +4662,7 @@ def get_reference_json(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -4681,7 +4681,7 @@ def get_reference_json(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -4727,7 +4727,7 @@ def get_reference_json(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -4746,7 +4746,7 @@ def get_reference_json(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -4795,7 +4795,7 @@ def get_reference_json(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -4820,7 +4820,7 @@ def get_reference_json(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -4845,7 +4845,7 @@ def get_reference_json(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -6052,7 +6052,7 @@ def post_p_1(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -6071,7 +6071,7 @@ def post_p_1(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -6091,7 +6091,7 @@ def post_p_1(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -6111,7 +6111,7 @@ def post_p_1(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -6157,7 +6157,7 @@ def post_p_1(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -6176,7 +6176,7 @@ def post_p_1(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -6196,7 +6196,7 @@ def post_p_1(cls): { "id": "mi(5,9,5)", "action": "click", - "policy": "add_assumption(sudoku(5,9,5))", + "operation": "add_assumption(sudoku(5,9,5))", } ], "children": [], @@ -6216,7 +6216,7 @@ def post_p_1(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -6236,7 +6236,7 @@ def post_p_1(cls): { "id": "mi(5,9,1)", "action": "click", - "policy": "add_assumption(sudoku(5,9,1))", + "operation": "add_assumption(sudoku(5,9,1))", } ], "children": [], @@ -6282,7 +6282,7 @@ def post_p_1(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -6301,7 +6301,7 @@ def post_p_1(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -6321,7 +6321,7 @@ def post_p_1(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -6341,7 +6341,7 @@ def post_p_1(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -6361,7 +6361,7 @@ def post_p_1(cls): { "id": "mi(2,9,5)", "action": "click", - "policy": "add_assumption(sudoku(2,9,5))", + "operation": "add_assumption(sudoku(2,9,5))", } ], "children": [], @@ -6381,7 +6381,7 @@ def post_p_1(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -6427,7 +6427,7 @@ def post_p_1(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -6446,7 +6446,7 @@ def post_p_1(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -6466,7 +6466,7 @@ def post_p_1(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -6486,7 +6486,7 @@ def post_p_1(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -6532,7 +6532,7 @@ def post_p_1(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -6551,7 +6551,7 @@ def post_p_1(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -6571,7 +6571,7 @@ def post_p_1(cls): { "id": "mi(5,8,5)", "action": "click", - "policy": "add_assumption(sudoku(5,8,5))", + "operation": "add_assumption(sudoku(5,8,5))", } ], "children": [], @@ -6591,7 +6591,7 @@ def post_p_1(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -6611,7 +6611,7 @@ def post_p_1(cls): { "id": "mi(5,8,1)", "action": "click", - "policy": "add_assumption(sudoku(5,8,1))", + "operation": "add_assumption(sudoku(5,8,1))", } ], "children": [], @@ -6657,7 +6657,7 @@ def post_p_1(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -6676,7 +6676,7 @@ def post_p_1(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -6696,7 +6696,7 @@ def post_p_1(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -6716,7 +6716,7 @@ def post_p_1(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -6736,7 +6736,7 @@ def post_p_1(cls): { "id": "mi(2,8,5)", "action": "click", - "policy": "add_assumption(sudoku(2,8,5))", + "operation": "add_assumption(sudoku(2,8,5))", } ], "children": [], @@ -6756,7 +6756,7 @@ def post_p_1(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -6802,7 +6802,7 @@ def post_p_1(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -6821,7 +6821,7 @@ def post_p_1(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -6841,7 +6841,7 @@ def post_p_1(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -6887,7 +6887,7 @@ def post_p_1(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -6906,7 +6906,7 @@ def post_p_1(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -6926,7 +6926,7 @@ def post_p_1(cls): { "id": "mi(2,7,5)", "action": "click", - "policy": "add_assumption(sudoku(2,7,5))", + "operation": "add_assumption(sudoku(2,7,5))", } ], "children": [], @@ -6946,7 +6946,7 @@ def post_p_1(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -6992,7 +6992,7 @@ def post_p_1(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -7011,7 +7011,7 @@ def post_p_1(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -7057,7 +7057,7 @@ def post_p_1(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -7076,7 +7076,7 @@ def post_p_1(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -7122,7 +7122,7 @@ def post_p_1(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -7141,7 +7141,7 @@ def post_p_1(cls): { "id": "mi(1,9,8)", "action": "click", - "policy": "add_assumption(sudoku(1,9,8))", + "operation": "add_assumption(sudoku(1,9,8))", } ], "children": [], @@ -7161,7 +7161,7 @@ def post_p_1(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -7181,7 +7181,7 @@ def post_p_1(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -7201,7 +7201,7 @@ def post_p_1(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -7247,7 +7247,7 @@ def post_p_1(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -7266,7 +7266,7 @@ def post_p_1(cls): { "id": "mi(1,8,8)", "action": "click", - "policy": "add_assumption(sudoku(1,8,8))", + "operation": "add_assumption(sudoku(1,8,8))", } ], "children": [], @@ -7286,7 +7286,7 @@ def post_p_1(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -7306,7 +7306,7 @@ def post_p_1(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -7326,7 +7326,7 @@ def post_p_1(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -7372,7 +7372,7 @@ def post_p_1(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -7391,7 +7391,7 @@ def post_p_1(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -7437,7 +7437,7 @@ def post_p_1(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -7456,7 +7456,7 @@ def post_p_1(cls): { "id": "mi(2,3,8)", "action": "click", - "policy": "add_assumption(sudoku(2,3,8))", + "operation": "add_assumption(sudoku(2,3,8))", } ], "children": [], @@ -7476,7 +7476,7 @@ def post_p_1(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -7496,7 +7496,7 @@ def post_p_1(cls): { "id": "mi(2,3,2)", "action": "click", - "policy": "add_assumption(sudoku(2,3,2))", + "operation": "add_assumption(sudoku(2,3,2))", } ], "children": [], @@ -7542,7 +7542,7 @@ def post_p_1(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -7561,7 +7561,7 @@ def post_p_1(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -7581,7 +7581,7 @@ def post_p_1(cls): { "id": "mi(1,3,2)", "action": "click", - "policy": "add_assumption(sudoku(1,3,2))", + "operation": "add_assumption(sudoku(1,3,2))", } ], "children": [], @@ -7627,7 +7627,7 @@ def post_p_1(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -7646,7 +7646,7 @@ def post_p_1(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -7692,7 +7692,7 @@ def post_p_1(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -7711,7 +7711,7 @@ def post_p_1(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -7731,7 +7731,7 @@ def post_p_1(cls): { "id": "mi(9,9,4)", "action": "click", - "policy": "add_assumption(sudoku(9,9,4))", + "operation": "add_assumption(sudoku(9,9,4))", } ], "children": [], @@ -7751,7 +7751,7 @@ def post_p_1(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -7797,7 +7797,7 @@ def post_p_1(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -7816,7 +7816,7 @@ def post_p_1(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -7836,7 +7836,7 @@ def post_p_1(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -7856,7 +7856,7 @@ def post_p_1(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -7876,7 +7876,7 @@ def post_p_1(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -7922,7 +7922,7 @@ def post_p_1(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -7941,7 +7941,7 @@ def post_p_1(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -7961,7 +7961,7 @@ def post_p_1(cls): { "id": "mi(9,8,4)", "action": "click", - "policy": "add_assumption(sudoku(9,8,4))", + "operation": "add_assumption(sudoku(9,8,4))", } ], "children": [], @@ -7981,7 +7981,7 @@ def post_p_1(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -8027,7 +8027,7 @@ def post_p_1(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -8046,7 +8046,7 @@ def post_p_1(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -8066,7 +8066,7 @@ def post_p_1(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -8086,7 +8086,7 @@ def post_p_1(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -8106,7 +8106,7 @@ def post_p_1(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -8152,7 +8152,7 @@ def post_p_1(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -8171,7 +8171,7 @@ def post_p_1(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -8217,7 +8217,7 @@ def post_p_1(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -8236,7 +8236,7 @@ def post_p_1(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -8256,7 +8256,7 @@ def post_p_1(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -8302,7 +8302,7 @@ def post_p_1(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -8321,7 +8321,7 @@ def post_p_1(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -8341,7 +8341,7 @@ def post_p_1(cls): { "id": "mi(2,1,5)", "action": "click", - "policy": "add_assumption(sudoku(2,1,5))", + "operation": "add_assumption(sudoku(2,1,5))", } ], "children": [], @@ -8361,7 +8361,7 @@ def post_p_1(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -8407,7 +8407,7 @@ def post_p_1(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -8426,7 +8426,7 @@ def post_p_1(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -8446,7 +8446,7 @@ def post_p_1(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -8466,7 +8466,7 @@ def post_p_1(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -8512,7 +8512,7 @@ def post_p_1(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -8531,7 +8531,7 @@ def post_p_1(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -8551,7 +8551,7 @@ def post_p_1(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -8571,7 +8571,7 @@ def post_p_1(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -8591,7 +8591,7 @@ def post_p_1(cls): { "id": "mi(4,9,1)", "action": "click", - "policy": "add_assumption(sudoku(4,9,1))", + "operation": "add_assumption(sudoku(4,9,1))", } ], "children": [], @@ -8637,7 +8637,7 @@ def post_p_1(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -8656,7 +8656,7 @@ def post_p_1(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -8676,7 +8676,7 @@ def post_p_1(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -8696,7 +8696,7 @@ def post_p_1(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -8742,7 +8742,7 @@ def post_p_1(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -8761,7 +8761,7 @@ def post_p_1(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -8781,7 +8781,7 @@ def post_p_1(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -8801,7 +8801,7 @@ def post_p_1(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -8821,7 +8821,7 @@ def post_p_1(cls): { "id": "mi(4,8,1)", "action": "click", - "policy": "add_assumption(sudoku(4,8,1))", + "operation": "add_assumption(sudoku(4,8,1))", } ], "children": [], @@ -8867,7 +8867,7 @@ def post_p_1(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -8886,7 +8886,7 @@ def post_p_1(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -8932,7 +8932,7 @@ def post_p_1(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -8951,7 +8951,7 @@ def post_p_1(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -8997,7 +8997,7 @@ def post_p_1(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -9016,7 +9016,7 @@ def post_p_1(cls): { "id": "mi(6,9,5)", "action": "click", - "policy": "add_assumption(sudoku(6,9,5))", + "operation": "add_assumption(sudoku(6,9,5))", } ], "children": [], @@ -9036,7 +9036,7 @@ def post_p_1(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -9056,7 +9056,7 @@ def post_p_1(cls): { "id": "mi(6,9,3)", "action": "click", - "policy": "add_assumption(sudoku(6,9,3))", + "operation": "add_assumption(sudoku(6,9,3))", } ], "children": [], @@ -9076,7 +9076,7 @@ def post_p_1(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -9122,7 +9122,7 @@ def post_p_1(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -9141,7 +9141,7 @@ def post_p_1(cls): { "id": "mi(6,8,5)", "action": "click", - "policy": "add_assumption(sudoku(6,8,5))", + "operation": "add_assumption(sudoku(6,8,5))", } ], "children": [], @@ -9161,7 +9161,7 @@ def post_p_1(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -9181,7 +9181,7 @@ def post_p_1(cls): { "id": "mi(6,8,3)", "action": "click", - "policy": "add_assumption(sudoku(6,8,3))", + "operation": "add_assumption(sudoku(6,8,3))", } ], "children": [], @@ -9201,7 +9201,7 @@ def post_p_1(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -9247,7 +9247,7 @@ def post_p_1(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -9266,7 +9266,7 @@ def post_p_1(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -9286,7 +9286,7 @@ def post_p_1(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -9306,7 +9306,7 @@ def post_p_1(cls): { "id": "mi(4,7,1)", "action": "click", - "policy": "add_assumption(sudoku(4,7,1))", + "operation": "add_assumption(sudoku(4,7,1))", } ], "children": [], @@ -9352,7 +9352,7 @@ def post_p_1(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -9371,7 +9371,7 @@ def post_p_1(cls): { "id": "mi(6,6,5)", "action": "click", - "policy": "add_assumption(sudoku(6,6,5))", + "operation": "add_assumption(sudoku(6,6,5))", } ], "children": [], @@ -9391,7 +9391,7 @@ def post_p_1(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -9437,7 +9437,7 @@ def post_p_1(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -9456,7 +9456,7 @@ def post_p_1(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -9476,7 +9476,7 @@ def post_p_1(cls): { "id": "mi(5,6,3)", "action": "click", - "policy": "add_assumption(sudoku(5,6,3))", + "operation": "add_assumption(sudoku(5,6,3))", } ], "children": [], @@ -9522,7 +9522,7 @@ def post_p_1(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -9541,7 +9541,7 @@ def post_p_1(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -9587,7 +9587,7 @@ def post_p_1(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -9606,7 +9606,7 @@ def post_p_1(cls): { "id": "mi(5,2,5)", "action": "click", - "policy": "add_assumption(sudoku(5,2,5))", + "operation": "add_assumption(sudoku(5,2,5))", } ], "children": [], @@ -9626,7 +9626,7 @@ def post_p_1(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -9646,7 +9646,7 @@ def post_p_1(cls): { "id": "mi(5,2,1)", "action": "click", - "policy": "add_assumption(sudoku(5,2,1))", + "operation": "add_assumption(sudoku(5,2,1))", } ], "children": [], @@ -9692,7 +9692,7 @@ def post_p_1(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -9711,7 +9711,7 @@ def post_p_1(cls): { "id": "mi(4,2,5)", "action": "click", - "policy": "add_assumption(sudoku(4,2,5))", + "operation": "add_assumption(sudoku(4,2,5))", } ], "children": [], @@ -9731,7 +9731,7 @@ def post_p_1(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -9777,7 +9777,7 @@ def post_p_1(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -9796,7 +9796,7 @@ def post_p_1(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -9816,7 +9816,7 @@ def post_p_1(cls): { "id": "mi(2,2,4)", "action": "click", - "policy": "add_assumption(sudoku(2,2,4))", + "operation": "add_assumption(sudoku(2,2,4))", } ], "children": [], @@ -9862,7 +9862,7 @@ def post_p_1(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -9881,7 +9881,7 @@ def post_p_1(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -9901,7 +9901,7 @@ def post_p_1(cls): { "id": "mi(6,1,2)", "action": "click", - "policy": "add_assumption(sudoku(6,1,2))", + "operation": "add_assumption(sudoku(6,1,2))", } ], "children": [], @@ -9947,7 +9947,7 @@ def post_p_1(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -9966,7 +9966,7 @@ def post_p_1(cls): { "id": "mi(1,1,5)", "action": "click", - "policy": "add_assumption(sudoku(1,1,5))", + "operation": "add_assumption(sudoku(1,1,5))", } ], "children": [], @@ -9986,7 +9986,7 @@ def post_p_1(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -10006,7 +10006,7 @@ def post_p_1(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -10052,7 +10052,7 @@ def post_p_1(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -10071,7 +10071,7 @@ def post_p_1(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -10091,7 +10091,7 @@ def post_p_1(cls): { "id": "mi(9,7,2)", "action": "click", - "policy": "add_assumption(sudoku(9,7,2))", + "operation": "add_assumption(sudoku(9,7,2))", } ], "children": [], @@ -10137,7 +10137,7 @@ def post_p_1(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -10156,7 +10156,7 @@ def post_p_1(cls): { "id": "mi(3,7,4)", "action": "click", - "policy": "add_assumption(sudoku(3,7,4))", + "operation": "add_assumption(sudoku(3,7,4))", } ], "children": [], @@ -10176,7 +10176,7 @@ def post_p_1(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -10196,7 +10196,7 @@ def post_p_1(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -10242,7 +10242,7 @@ def post_p_1(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -10261,7 +10261,7 @@ def post_p_1(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -10307,7 +10307,7 @@ def post_p_1(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -10326,7 +10326,7 @@ def post_p_1(cls): { "id": "mi(5,3,4)", "action": "click", - "policy": "add_assumption(sudoku(5,3,4))", + "operation": "add_assumption(sudoku(5,3,4))", } ], "children": [], @@ -10346,7 +10346,7 @@ def post_p_1(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -10392,7 +10392,7 @@ def post_p_1(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -10411,7 +10411,7 @@ def post_p_1(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -10431,7 +10431,7 @@ def post_p_1(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -10477,7 +10477,7 @@ def post_p_1(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -10496,7 +10496,7 @@ def post_p_1(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -10542,7 +10542,7 @@ def post_p_1(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -10561,7 +10561,7 @@ def post_p_1(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -10607,7 +10607,7 @@ def post_p_1(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -10626,7 +10626,7 @@ def post_p_1(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -10672,7 +10672,7 @@ def post_p_1(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -10691,7 +10691,7 @@ def post_p_1(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -10711,7 +10711,7 @@ def post_p_1(cls): { "id": "mi(6,4,1)", "action": "click", - "policy": "add_assumption(sudoku(6,4,1))", + "operation": "add_assumption(sudoku(6,4,1))", } ], "children": [], @@ -10757,7 +10757,7 @@ def post_p_1(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -10776,7 +10776,7 @@ def post_p_1(cls): { "id": "mi(5,4,2)", "action": "click", - "policy": "add_assumption(sudoku(5,4,2))", + "operation": "add_assumption(sudoku(5,4,2))", } ], "children": [], @@ -10796,7 +10796,7 @@ def post_p_1(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -10842,7 +10842,7 @@ def post_p_1(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -10861,7 +10861,7 @@ def post_p_1(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -10907,7 +10907,7 @@ def post_p_1(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -10926,7 +10926,7 @@ def post_p_1(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -10975,7 +10975,7 @@ def post_p_1(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -11000,7 +11000,7 @@ def post_p_1(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -11025,7 +11025,7 @@ def post_p_1(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -12232,7 +12232,7 @@ def post_p_2(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -12251,7 +12251,7 @@ def post_p_2(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -12271,7 +12271,7 @@ def post_p_2(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -12291,7 +12291,7 @@ def post_p_2(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -12337,7 +12337,7 @@ def post_p_2(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -12356,7 +12356,7 @@ def post_p_2(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -12376,7 +12376,7 @@ def post_p_2(cls): { "id": "mi(5,9,5)", "action": "click", - "policy": "add_assumption(sudoku(5,9,5))", + "operation": "add_assumption(sudoku(5,9,5))", } ], "children": [], @@ -12396,7 +12396,7 @@ def post_p_2(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -12416,7 +12416,7 @@ def post_p_2(cls): { "id": "mi(5,9,1)", "action": "click", - "policy": "add_assumption(sudoku(5,9,1))", + "operation": "add_assumption(sudoku(5,9,1))", } ], "children": [], @@ -12462,7 +12462,7 @@ def post_p_2(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -12481,7 +12481,7 @@ def post_p_2(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -12501,7 +12501,7 @@ def post_p_2(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -12521,7 +12521,7 @@ def post_p_2(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -12541,7 +12541,7 @@ def post_p_2(cls): { "id": "mi(2,9,5)", "action": "click", - "policy": "add_assumption(sudoku(2,9,5))", + "operation": "add_assumption(sudoku(2,9,5))", } ], "children": [], @@ -12561,7 +12561,7 @@ def post_p_2(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -12607,7 +12607,7 @@ def post_p_2(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -12626,7 +12626,7 @@ def post_p_2(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -12646,7 +12646,7 @@ def post_p_2(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -12666,7 +12666,7 @@ def post_p_2(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -12712,7 +12712,7 @@ def post_p_2(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -12731,7 +12731,7 @@ def post_p_2(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -12751,7 +12751,7 @@ def post_p_2(cls): { "id": "mi(5,8,5)", "action": "click", - "policy": "add_assumption(sudoku(5,8,5))", + "operation": "add_assumption(sudoku(5,8,5))", } ], "children": [], @@ -12771,7 +12771,7 @@ def post_p_2(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -12791,7 +12791,7 @@ def post_p_2(cls): { "id": "mi(5,8,1)", "action": "click", - "policy": "add_assumption(sudoku(5,8,1))", + "operation": "add_assumption(sudoku(5,8,1))", } ], "children": [], @@ -12837,7 +12837,7 @@ def post_p_2(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -12856,7 +12856,7 @@ def post_p_2(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -12876,7 +12876,7 @@ def post_p_2(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -12896,7 +12896,7 @@ def post_p_2(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -12916,7 +12916,7 @@ def post_p_2(cls): { "id": "mi(2,8,5)", "action": "click", - "policy": "add_assumption(sudoku(2,8,5))", + "operation": "add_assumption(sudoku(2,8,5))", } ], "children": [], @@ -12936,7 +12936,7 @@ def post_p_2(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -12982,7 +12982,7 @@ def post_p_2(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -13001,7 +13001,7 @@ def post_p_2(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -13021,7 +13021,7 @@ def post_p_2(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -13067,7 +13067,7 @@ def post_p_2(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -13086,7 +13086,7 @@ def post_p_2(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -13106,7 +13106,7 @@ def post_p_2(cls): { "id": "mi(2,7,5)", "action": "click", - "policy": "add_assumption(sudoku(2,7,5))", + "operation": "add_assumption(sudoku(2,7,5))", } ], "children": [], @@ -13126,7 +13126,7 @@ def post_p_2(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -13172,7 +13172,7 @@ def post_p_2(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -13191,7 +13191,7 @@ def post_p_2(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -13237,7 +13237,7 @@ def post_p_2(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -13256,7 +13256,7 @@ def post_p_2(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -13302,7 +13302,7 @@ def post_p_2(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -13321,7 +13321,7 @@ def post_p_2(cls): { "id": "mi(1,9,8)", "action": "click", - "policy": "add_assumption(sudoku(1,9,8))", + "operation": "add_assumption(sudoku(1,9,8))", } ], "children": [], @@ -13341,7 +13341,7 @@ def post_p_2(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -13361,7 +13361,7 @@ def post_p_2(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -13381,7 +13381,7 @@ def post_p_2(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -13427,7 +13427,7 @@ def post_p_2(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -13446,7 +13446,7 @@ def post_p_2(cls): { "id": "mi(1,8,8)", "action": "click", - "policy": "add_assumption(sudoku(1,8,8))", + "operation": "add_assumption(sudoku(1,8,8))", } ], "children": [], @@ -13466,7 +13466,7 @@ def post_p_2(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -13486,7 +13486,7 @@ def post_p_2(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -13506,7 +13506,7 @@ def post_p_2(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -13552,7 +13552,7 @@ def post_p_2(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -13571,7 +13571,7 @@ def post_p_2(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -13617,7 +13617,7 @@ def post_p_2(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -13636,7 +13636,7 @@ def post_p_2(cls): { "id": "mi(2,3,8)", "action": "click", - "policy": "add_assumption(sudoku(2,3,8))", + "operation": "add_assumption(sudoku(2,3,8))", } ], "children": [], @@ -13656,7 +13656,7 @@ def post_p_2(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -13676,7 +13676,7 @@ def post_p_2(cls): { "id": "mi(2,3,2)", "action": "click", - "policy": "add_assumption(sudoku(2,3,2))", + "operation": "add_assumption(sudoku(2,3,2))", } ], "children": [], @@ -13722,7 +13722,7 @@ def post_p_2(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -13741,7 +13741,7 @@ def post_p_2(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -13761,7 +13761,7 @@ def post_p_2(cls): { "id": "mi(1,3,2)", "action": "click", - "policy": "add_assumption(sudoku(1,3,2))", + "operation": "add_assumption(sudoku(1,3,2))", } ], "children": [], @@ -13807,7 +13807,7 @@ def post_p_2(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -13826,7 +13826,7 @@ def post_p_2(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -13872,7 +13872,7 @@ def post_p_2(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -13891,7 +13891,7 @@ def post_p_2(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -13911,7 +13911,7 @@ def post_p_2(cls): { "id": "mi(9,9,4)", "action": "click", - "policy": "add_assumption(sudoku(9,9,4))", + "operation": "add_assumption(sudoku(9,9,4))", } ], "children": [], @@ -13931,7 +13931,7 @@ def post_p_2(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -13977,7 +13977,7 @@ def post_p_2(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -13996,7 +13996,7 @@ def post_p_2(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -14016,7 +14016,7 @@ def post_p_2(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -14036,7 +14036,7 @@ def post_p_2(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -14056,7 +14056,7 @@ def post_p_2(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -14102,7 +14102,7 @@ def post_p_2(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -14121,7 +14121,7 @@ def post_p_2(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -14141,7 +14141,7 @@ def post_p_2(cls): { "id": "mi(9,8,4)", "action": "click", - "policy": "add_assumption(sudoku(9,8,4))", + "operation": "add_assumption(sudoku(9,8,4))", } ], "children": [], @@ -14161,7 +14161,7 @@ def post_p_2(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -14207,7 +14207,7 @@ def post_p_2(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -14226,7 +14226,7 @@ def post_p_2(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -14246,7 +14246,7 @@ def post_p_2(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -14266,7 +14266,7 @@ def post_p_2(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -14286,7 +14286,7 @@ def post_p_2(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -14332,7 +14332,7 @@ def post_p_2(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -14351,7 +14351,7 @@ def post_p_2(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -14397,7 +14397,7 @@ def post_p_2(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -14416,7 +14416,7 @@ def post_p_2(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -14436,7 +14436,7 @@ def post_p_2(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -14482,7 +14482,7 @@ def post_p_2(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -14501,7 +14501,7 @@ def post_p_2(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -14521,7 +14521,7 @@ def post_p_2(cls): { "id": "mi(2,1,5)", "action": "click", - "policy": "add_assumption(sudoku(2,1,5))", + "operation": "add_assumption(sudoku(2,1,5))", } ], "children": [], @@ -14541,7 +14541,7 @@ def post_p_2(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -14587,7 +14587,7 @@ def post_p_2(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -14606,7 +14606,7 @@ def post_p_2(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -14626,7 +14626,7 @@ def post_p_2(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -14646,7 +14646,7 @@ def post_p_2(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -14692,7 +14692,7 @@ def post_p_2(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -14711,7 +14711,7 @@ def post_p_2(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -14731,7 +14731,7 @@ def post_p_2(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -14751,7 +14751,7 @@ def post_p_2(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -14771,7 +14771,7 @@ def post_p_2(cls): { "id": "mi(4,9,1)", "action": "click", - "policy": "add_assumption(sudoku(4,9,1))", + "operation": "add_assumption(sudoku(4,9,1))", } ], "children": [], @@ -14817,7 +14817,7 @@ def post_p_2(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -14836,7 +14836,7 @@ def post_p_2(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -14856,7 +14856,7 @@ def post_p_2(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -14876,7 +14876,7 @@ def post_p_2(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -14922,7 +14922,7 @@ def post_p_2(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -14941,7 +14941,7 @@ def post_p_2(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -14961,7 +14961,7 @@ def post_p_2(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -14981,7 +14981,7 @@ def post_p_2(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -15001,7 +15001,7 @@ def post_p_2(cls): { "id": "mi(4,8,1)", "action": "click", - "policy": "add_assumption(sudoku(4,8,1))", + "operation": "add_assumption(sudoku(4,8,1))", } ], "children": [], @@ -15047,7 +15047,7 @@ def post_p_2(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -15066,7 +15066,7 @@ def post_p_2(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -15112,7 +15112,7 @@ def post_p_2(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -15131,7 +15131,7 @@ def post_p_2(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -15177,7 +15177,7 @@ def post_p_2(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -15196,7 +15196,7 @@ def post_p_2(cls): { "id": "mi(6,9,5)", "action": "click", - "policy": "add_assumption(sudoku(6,9,5))", + "operation": "add_assumption(sudoku(6,9,5))", } ], "children": [], @@ -15216,7 +15216,7 @@ def post_p_2(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -15236,7 +15236,7 @@ def post_p_2(cls): { "id": "mi(6,9,3)", "action": "click", - "policy": "add_assumption(sudoku(6,9,3))", + "operation": "add_assumption(sudoku(6,9,3))", } ], "children": [], @@ -15256,7 +15256,7 @@ def post_p_2(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -15302,7 +15302,7 @@ def post_p_2(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -15321,7 +15321,7 @@ def post_p_2(cls): { "id": "mi(6,8,5)", "action": "click", - "policy": "add_assumption(sudoku(6,8,5))", + "operation": "add_assumption(sudoku(6,8,5))", } ], "children": [], @@ -15341,7 +15341,7 @@ def post_p_2(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -15361,7 +15361,7 @@ def post_p_2(cls): { "id": "mi(6,8,3)", "action": "click", - "policy": "add_assumption(sudoku(6,8,3))", + "operation": "add_assumption(sudoku(6,8,3))", } ], "children": [], @@ -15381,7 +15381,7 @@ def post_p_2(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -15427,7 +15427,7 @@ def post_p_2(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -15446,7 +15446,7 @@ def post_p_2(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -15466,7 +15466,7 @@ def post_p_2(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -15486,7 +15486,7 @@ def post_p_2(cls): { "id": "mi(4,7,1)", "action": "click", - "policy": "add_assumption(sudoku(4,7,1))", + "operation": "add_assumption(sudoku(4,7,1))", } ], "children": [], @@ -15532,7 +15532,7 @@ def post_p_2(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -15551,7 +15551,7 @@ def post_p_2(cls): { "id": "mi(6,6,5)", "action": "click", - "policy": "add_assumption(sudoku(6,6,5))", + "operation": "add_assumption(sudoku(6,6,5))", } ], "children": [], @@ -15571,7 +15571,7 @@ def post_p_2(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -15617,7 +15617,7 @@ def post_p_2(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -15636,7 +15636,7 @@ def post_p_2(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -15656,7 +15656,7 @@ def post_p_2(cls): { "id": "mi(5,6,3)", "action": "click", - "policy": "add_assumption(sudoku(5,6,3))", + "operation": "add_assumption(sudoku(5,6,3))", } ], "children": [], @@ -15702,7 +15702,7 @@ def post_p_2(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -15721,7 +15721,7 @@ def post_p_2(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -15767,7 +15767,7 @@ def post_p_2(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -15786,7 +15786,7 @@ def post_p_2(cls): { "id": "mi(5,2,5)", "action": "click", - "policy": "add_assumption(sudoku(5,2,5))", + "operation": "add_assumption(sudoku(5,2,5))", } ], "children": [], @@ -15806,7 +15806,7 @@ def post_p_2(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -15826,7 +15826,7 @@ def post_p_2(cls): { "id": "mi(5,2,1)", "action": "click", - "policy": "add_assumption(sudoku(5,2,1))", + "operation": "add_assumption(sudoku(5,2,1))", } ], "children": [], @@ -15872,7 +15872,7 @@ def post_p_2(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -15891,7 +15891,7 @@ def post_p_2(cls): { "id": "mi(4,2,5)", "action": "click", - "policy": "add_assumption(sudoku(4,2,5))", + "operation": "add_assumption(sudoku(4,2,5))", } ], "children": [], @@ -15911,7 +15911,7 @@ def post_p_2(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -15957,7 +15957,7 @@ def post_p_2(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -15976,7 +15976,7 @@ def post_p_2(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -15996,7 +15996,7 @@ def post_p_2(cls): { "id": "mi(2,2,4)", "action": "click", - "policy": "add_assumption(sudoku(2,2,4))", + "operation": "add_assumption(sudoku(2,2,4))", } ], "children": [], @@ -16042,7 +16042,7 @@ def post_p_2(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -16061,7 +16061,7 @@ def post_p_2(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -16081,7 +16081,7 @@ def post_p_2(cls): { "id": "mi(6,1,2)", "action": "click", - "policy": "add_assumption(sudoku(6,1,2))", + "operation": "add_assumption(sudoku(6,1,2))", } ], "children": [], @@ -16127,7 +16127,7 @@ def post_p_2(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -16146,7 +16146,7 @@ def post_p_2(cls): { "id": "mi(1,1,5)", "action": "click", - "policy": "add_assumption(sudoku(1,1,5))", + "operation": "add_assumption(sudoku(1,1,5))", } ], "children": [], @@ -16166,7 +16166,7 @@ def post_p_2(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -16186,7 +16186,7 @@ def post_p_2(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -16232,7 +16232,7 @@ def post_p_2(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -16251,7 +16251,7 @@ def post_p_2(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -16271,7 +16271,7 @@ def post_p_2(cls): { "id": "mi(9,7,2)", "action": "click", - "policy": "add_assumption(sudoku(9,7,2))", + "operation": "add_assumption(sudoku(9,7,2))", } ], "children": [], @@ -16317,7 +16317,7 @@ def post_p_2(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -16336,7 +16336,7 @@ def post_p_2(cls): { "id": "mi(3,7,4)", "action": "click", - "policy": "add_assumption(sudoku(3,7,4))", + "operation": "add_assumption(sudoku(3,7,4))", } ], "children": [], @@ -16356,7 +16356,7 @@ def post_p_2(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -16376,7 +16376,7 @@ def post_p_2(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -16422,7 +16422,7 @@ def post_p_2(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -16441,7 +16441,7 @@ def post_p_2(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -16487,7 +16487,7 @@ def post_p_2(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -16506,7 +16506,7 @@ def post_p_2(cls): { "id": "mi(5,3,4)", "action": "click", - "policy": "add_assumption(sudoku(5,3,4))", + "operation": "add_assumption(sudoku(5,3,4))", } ], "children": [], @@ -16526,7 +16526,7 @@ def post_p_2(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -16572,7 +16572,7 @@ def post_p_2(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -16591,7 +16591,7 @@ def post_p_2(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -16611,7 +16611,7 @@ def post_p_2(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -16657,7 +16657,7 @@ def post_p_2(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -16676,7 +16676,7 @@ def post_p_2(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -16722,7 +16722,7 @@ def post_p_2(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -16741,7 +16741,7 @@ def post_p_2(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -16787,7 +16787,7 @@ def post_p_2(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -16806,7 +16806,7 @@ def post_p_2(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -16852,7 +16852,7 @@ def post_p_2(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -16871,7 +16871,7 @@ def post_p_2(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -16891,7 +16891,7 @@ def post_p_2(cls): { "id": "mi(6,4,1)", "action": "click", - "policy": "add_assumption(sudoku(6,4,1))", + "operation": "add_assumption(sudoku(6,4,1))", } ], "children": [], @@ -16937,7 +16937,7 @@ def post_p_2(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -16956,7 +16956,7 @@ def post_p_2(cls): { "id": "mi(5,4,2)", "action": "click", - "policy": "add_assumption(sudoku(5,4,2))", + "operation": "add_assumption(sudoku(5,4,2))", } ], "children": [], @@ -16976,7 +16976,7 @@ def post_p_2(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -17022,7 +17022,7 @@ def post_p_2(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -17041,7 +17041,7 @@ def post_p_2(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -17087,7 +17087,7 @@ def post_p_2(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -17106,7 +17106,7 @@ def post_p_2(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -17155,7 +17155,7 @@ def post_p_2(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -17180,7 +17180,7 @@ def post_p_2(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -17205,7 +17205,7 @@ def post_p_2(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -18407,7 +18407,7 @@ def post_p_3(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -18426,7 +18426,7 @@ def post_p_3(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -18446,7 +18446,7 @@ def post_p_3(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -18466,7 +18466,7 @@ def post_p_3(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -18507,7 +18507,7 @@ def post_p_3(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -18526,7 +18526,7 @@ def post_p_3(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -18546,7 +18546,7 @@ def post_p_3(cls): { "id": "mi(5,9,5)", "action": "click", - "policy": "add_assumption(sudoku(5,9,5))", + "operation": "add_assumption(sudoku(5,9,5))", } ], "children": [], @@ -18566,7 +18566,7 @@ def post_p_3(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -18586,7 +18586,7 @@ def post_p_3(cls): { "id": "mi(5,9,1)", "action": "click", - "policy": "add_assumption(sudoku(5,9,1))", + "operation": "add_assumption(sudoku(5,9,1))", } ], "children": [], @@ -18627,7 +18627,7 @@ def post_p_3(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -18646,7 +18646,7 @@ def post_p_3(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -18666,7 +18666,7 @@ def post_p_3(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -18686,7 +18686,7 @@ def post_p_3(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -18706,7 +18706,7 @@ def post_p_3(cls): { "id": "mi(2,9,5)", "action": "click", - "policy": "add_assumption(sudoku(2,9,5))", + "operation": "add_assumption(sudoku(2,9,5))", } ], "children": [], @@ -18726,7 +18726,7 @@ def post_p_3(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -18767,7 +18767,7 @@ def post_p_3(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -18786,7 +18786,7 @@ def post_p_3(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -18806,7 +18806,7 @@ def post_p_3(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -18826,7 +18826,7 @@ def post_p_3(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -18867,7 +18867,7 @@ def post_p_3(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -18886,7 +18886,7 @@ def post_p_3(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -18906,7 +18906,7 @@ def post_p_3(cls): { "id": "mi(5,8,5)", "action": "click", - "policy": "add_assumption(sudoku(5,8,5))", + "operation": "add_assumption(sudoku(5,8,5))", } ], "children": [], @@ -18926,7 +18926,7 @@ def post_p_3(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -18946,7 +18946,7 @@ def post_p_3(cls): { "id": "mi(5,8,1)", "action": "click", - "policy": "add_assumption(sudoku(5,8,1))", + "operation": "add_assumption(sudoku(5,8,1))", } ], "children": [], @@ -18987,7 +18987,7 @@ def post_p_3(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -19006,7 +19006,7 @@ def post_p_3(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -19026,7 +19026,7 @@ def post_p_3(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -19046,7 +19046,7 @@ def post_p_3(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -19066,7 +19066,7 @@ def post_p_3(cls): { "id": "mi(2,8,5)", "action": "click", - "policy": "add_assumption(sudoku(2,8,5))", + "operation": "add_assumption(sudoku(2,8,5))", } ], "children": [], @@ -19086,7 +19086,7 @@ def post_p_3(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -19127,7 +19127,7 @@ def post_p_3(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -19146,7 +19146,7 @@ def post_p_3(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -19166,7 +19166,7 @@ def post_p_3(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -19207,7 +19207,7 @@ def post_p_3(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -19226,7 +19226,7 @@ def post_p_3(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -19246,7 +19246,7 @@ def post_p_3(cls): { "id": "mi(2,7,5)", "action": "click", - "policy": "add_assumption(sudoku(2,7,5))", + "operation": "add_assumption(sudoku(2,7,5))", } ], "children": [], @@ -19266,7 +19266,7 @@ def post_p_3(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -19312,7 +19312,7 @@ def post_p_3(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -19331,7 +19331,7 @@ def post_p_3(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -19377,7 +19377,7 @@ def post_p_3(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -19396,7 +19396,7 @@ def post_p_3(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -19437,7 +19437,7 @@ def post_p_3(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -19456,7 +19456,7 @@ def post_p_3(cls): { "id": "mi(1,9,8)", "action": "click", - "policy": "add_assumption(sudoku(1,9,8))", + "operation": "add_assumption(sudoku(1,9,8))", } ], "children": [], @@ -19476,7 +19476,7 @@ def post_p_3(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -19496,7 +19496,7 @@ def post_p_3(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -19516,7 +19516,7 @@ def post_p_3(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -19557,7 +19557,7 @@ def post_p_3(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -19576,7 +19576,7 @@ def post_p_3(cls): { "id": "mi(1,8,8)", "action": "click", - "policy": "add_assumption(sudoku(1,8,8))", + "operation": "add_assumption(sudoku(1,8,8))", } ], "children": [], @@ -19596,7 +19596,7 @@ def post_p_3(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -19616,7 +19616,7 @@ def post_p_3(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -19636,7 +19636,7 @@ def post_p_3(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -19682,7 +19682,7 @@ def post_p_3(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -19701,7 +19701,7 @@ def post_p_3(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -19742,7 +19742,7 @@ def post_p_3(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -19761,7 +19761,7 @@ def post_p_3(cls): { "id": "mi(2,3,8)", "action": "click", - "policy": "add_assumption(sudoku(2,3,8))", + "operation": "add_assumption(sudoku(2,3,8))", } ], "children": [], @@ -19781,7 +19781,7 @@ def post_p_3(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -19801,7 +19801,7 @@ def post_p_3(cls): { "id": "mi(2,3,2)", "action": "click", - "policy": "add_assumption(sudoku(2,3,2))", + "operation": "add_assumption(sudoku(2,3,2))", } ], "children": [], @@ -19842,7 +19842,7 @@ def post_p_3(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -19861,7 +19861,7 @@ def post_p_3(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -19881,7 +19881,7 @@ def post_p_3(cls): { "id": "mi(1,3,2)", "action": "click", - "policy": "add_assumption(sudoku(1,3,2))", + "operation": "add_assumption(sudoku(1,3,2))", } ], "children": [], @@ -19927,7 +19927,7 @@ def post_p_3(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -19946,7 +19946,7 @@ def post_p_3(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -19987,7 +19987,7 @@ def post_p_3(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -20006,7 +20006,7 @@ def post_p_3(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -20026,7 +20026,7 @@ def post_p_3(cls): { "id": "mi(9,9,4)", "action": "click", - "policy": "add_assumption(sudoku(9,9,4))", + "operation": "add_assumption(sudoku(9,9,4))", } ], "children": [], @@ -20046,7 +20046,7 @@ def post_p_3(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -20087,7 +20087,7 @@ def post_p_3(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -20106,7 +20106,7 @@ def post_p_3(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -20126,7 +20126,7 @@ def post_p_3(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -20146,7 +20146,7 @@ def post_p_3(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -20166,7 +20166,7 @@ def post_p_3(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -20207,7 +20207,7 @@ def post_p_3(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -20226,7 +20226,7 @@ def post_p_3(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -20246,7 +20246,7 @@ def post_p_3(cls): { "id": "mi(9,8,4)", "action": "click", - "policy": "add_assumption(sudoku(9,8,4))", + "operation": "add_assumption(sudoku(9,8,4))", } ], "children": [], @@ -20266,7 +20266,7 @@ def post_p_3(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -20307,7 +20307,7 @@ def post_p_3(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -20326,7 +20326,7 @@ def post_p_3(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -20346,7 +20346,7 @@ def post_p_3(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -20366,7 +20366,7 @@ def post_p_3(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -20386,7 +20386,7 @@ def post_p_3(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -20432,7 +20432,7 @@ def post_p_3(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -20451,7 +20451,7 @@ def post_p_3(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -20492,7 +20492,7 @@ def post_p_3(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -20511,7 +20511,7 @@ def post_p_3(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -20531,7 +20531,7 @@ def post_p_3(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -20572,7 +20572,7 @@ def post_p_3(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -20591,7 +20591,7 @@ def post_p_3(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -20611,7 +20611,7 @@ def post_p_3(cls): { "id": "mi(2,1,5)", "action": "click", - "policy": "add_assumption(sudoku(2,1,5))", + "operation": "add_assumption(sudoku(2,1,5))", } ], "children": [], @@ -20631,7 +20631,7 @@ def post_p_3(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -20672,7 +20672,7 @@ def post_p_3(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -20691,7 +20691,7 @@ def post_p_3(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -20711,7 +20711,7 @@ def post_p_3(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -20731,7 +20731,7 @@ def post_p_3(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -20772,7 +20772,7 @@ def post_p_3(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -20791,7 +20791,7 @@ def post_p_3(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -20811,7 +20811,7 @@ def post_p_3(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -20831,7 +20831,7 @@ def post_p_3(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -20851,7 +20851,7 @@ def post_p_3(cls): { "id": "mi(4,9,1)", "action": "click", - "policy": "add_assumption(sudoku(4,9,1))", + "operation": "add_assumption(sudoku(4,9,1))", } ], "children": [], @@ -20892,7 +20892,7 @@ def post_p_3(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -20911,7 +20911,7 @@ def post_p_3(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -20931,7 +20931,7 @@ def post_p_3(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -20951,7 +20951,7 @@ def post_p_3(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -20992,7 +20992,7 @@ def post_p_3(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -21011,7 +21011,7 @@ def post_p_3(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -21031,7 +21031,7 @@ def post_p_3(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -21051,7 +21051,7 @@ def post_p_3(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -21071,7 +21071,7 @@ def post_p_3(cls): { "id": "mi(4,8,1)", "action": "click", - "policy": "add_assumption(sudoku(4,8,1))", + "operation": "add_assumption(sudoku(4,8,1))", } ], "children": [], @@ -21117,7 +21117,7 @@ def post_p_3(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -21136,7 +21136,7 @@ def post_p_3(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -21182,7 +21182,7 @@ def post_p_3(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -21201,7 +21201,7 @@ def post_p_3(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -21242,7 +21242,7 @@ def post_p_3(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -21261,7 +21261,7 @@ def post_p_3(cls): { "id": "mi(6,9,5)", "action": "click", - "policy": "add_assumption(sudoku(6,9,5))", + "operation": "add_assumption(sudoku(6,9,5))", } ], "children": [], @@ -21281,7 +21281,7 @@ def post_p_3(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -21301,7 +21301,7 @@ def post_p_3(cls): { "id": "mi(6,9,3)", "action": "click", - "policy": "add_assumption(sudoku(6,9,3))", + "operation": "add_assumption(sudoku(6,9,3))", } ], "children": [], @@ -21321,7 +21321,7 @@ def post_p_3(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -21362,7 +21362,7 @@ def post_p_3(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -21381,7 +21381,7 @@ def post_p_3(cls): { "id": "mi(6,8,5)", "action": "click", - "policy": "add_assumption(sudoku(6,8,5))", + "operation": "add_assumption(sudoku(6,8,5))", } ], "children": [], @@ -21401,7 +21401,7 @@ def post_p_3(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -21421,7 +21421,7 @@ def post_p_3(cls): { "id": "mi(6,8,3)", "action": "click", - "policy": "add_assumption(sudoku(6,8,3))", + "operation": "add_assumption(sudoku(6,8,3))", } ], "children": [], @@ -21441,7 +21441,7 @@ def post_p_3(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -21482,7 +21482,7 @@ def post_p_3(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -21501,7 +21501,7 @@ def post_p_3(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -21521,7 +21521,7 @@ def post_p_3(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -21541,7 +21541,7 @@ def post_p_3(cls): { "id": "mi(4,7,1)", "action": "click", - "policy": "add_assumption(sudoku(4,7,1))", + "operation": "add_assumption(sudoku(4,7,1))", } ], "children": [], @@ -21582,7 +21582,7 @@ def post_p_3(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -21601,7 +21601,7 @@ def post_p_3(cls): { "id": "mi(6,6,5)", "action": "click", - "policy": "add_assumption(sudoku(6,6,5))", + "operation": "add_assumption(sudoku(6,6,5))", } ], "children": [], @@ -21621,7 +21621,7 @@ def post_p_3(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -21662,7 +21662,7 @@ def post_p_3(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -21681,7 +21681,7 @@ def post_p_3(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -21701,7 +21701,7 @@ def post_p_3(cls): { "id": "mi(5,6,3)", "action": "click", - "policy": "add_assumption(sudoku(5,6,3))", + "operation": "add_assumption(sudoku(5,6,3))", } ], "children": [], @@ -21747,7 +21747,7 @@ def post_p_3(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -21766,7 +21766,7 @@ def post_p_3(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -21807,7 +21807,7 @@ def post_p_3(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -21826,7 +21826,7 @@ def post_p_3(cls): { "id": "mi(5,2,5)", "action": "click", - "policy": "add_assumption(sudoku(5,2,5))", + "operation": "add_assumption(sudoku(5,2,5))", } ], "children": [], @@ -21846,7 +21846,7 @@ def post_p_3(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -21866,7 +21866,7 @@ def post_p_3(cls): { "id": "mi(5,2,1)", "action": "click", - "policy": "add_assumption(sudoku(5,2,1))", + "operation": "add_assumption(sudoku(5,2,1))", } ], "children": [], @@ -21907,7 +21907,7 @@ def post_p_3(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -21926,7 +21926,7 @@ def post_p_3(cls): { "id": "mi(4,2,5)", "action": "click", - "policy": "add_assumption(sudoku(4,2,5))", + "operation": "add_assumption(sudoku(4,2,5))", } ], "children": [], @@ -21946,7 +21946,7 @@ def post_p_3(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -21987,7 +21987,7 @@ def post_p_3(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -22006,7 +22006,7 @@ def post_p_3(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -22026,7 +22026,7 @@ def post_p_3(cls): { "id": "mi(2,2,4)", "action": "click", - "policy": "add_assumption(sudoku(2,2,4))", + "operation": "add_assumption(sudoku(2,2,4))", } ], "children": [], @@ -22067,7 +22067,7 @@ def post_p_3(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -22086,7 +22086,7 @@ def post_p_3(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -22106,7 +22106,7 @@ def post_p_3(cls): { "id": "mi(6,1,2)", "action": "click", - "policy": "add_assumption(sudoku(6,1,2))", + "operation": "add_assumption(sudoku(6,1,2))", } ], "children": [], @@ -22147,7 +22147,7 @@ def post_p_3(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -22166,7 +22166,7 @@ def post_p_3(cls): { "id": "mi(1,1,5)", "action": "click", - "policy": "add_assumption(sudoku(1,1,5))", + "operation": "add_assumption(sudoku(1,1,5))", } ], "children": [], @@ -22186,7 +22186,7 @@ def post_p_3(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -22206,7 +22206,7 @@ def post_p_3(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -22247,7 +22247,7 @@ def post_p_3(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -22266,7 +22266,7 @@ def post_p_3(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -22286,7 +22286,7 @@ def post_p_3(cls): { "id": "mi(9,7,2)", "action": "click", - "policy": "add_assumption(sudoku(9,7,2))", + "operation": "add_assumption(sudoku(9,7,2))", } ], "children": [], @@ -22327,7 +22327,7 @@ def post_p_3(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -22346,7 +22346,7 @@ def post_p_3(cls): { "id": "mi(3,7,4)", "action": "click", - "policy": "add_assumption(sudoku(3,7,4))", + "operation": "add_assumption(sudoku(3,7,4))", } ], "children": [], @@ -22366,7 +22366,7 @@ def post_p_3(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -22386,7 +22386,7 @@ def post_p_3(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -22432,7 +22432,7 @@ def post_p_3(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -22451,7 +22451,7 @@ def post_p_3(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -22492,7 +22492,7 @@ def post_p_3(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -22511,7 +22511,7 @@ def post_p_3(cls): { "id": "mi(5,3,4)", "action": "click", - "policy": "add_assumption(sudoku(5,3,4))", + "operation": "add_assumption(sudoku(5,3,4))", } ], "children": [], @@ -22531,7 +22531,7 @@ def post_p_3(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -22572,7 +22572,7 @@ def post_p_3(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -22591,7 +22591,7 @@ def post_p_3(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -22611,7 +22611,7 @@ def post_p_3(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -22657,7 +22657,7 @@ def post_p_3(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -22676,7 +22676,7 @@ def post_p_3(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -22722,7 +22722,7 @@ def post_p_3(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -22741,7 +22741,7 @@ def post_p_3(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -22787,7 +22787,7 @@ def post_p_3(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -22806,7 +22806,7 @@ def post_p_3(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -22847,7 +22847,7 @@ def post_p_3(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -22866,7 +22866,7 @@ def post_p_3(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -22886,7 +22886,7 @@ def post_p_3(cls): { "id": "mi(6,4,1)", "action": "click", - "policy": "add_assumption(sudoku(6,4,1))", + "operation": "add_assumption(sudoku(6,4,1))", } ], "children": [], @@ -22927,7 +22927,7 @@ def post_p_3(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -22946,7 +22946,7 @@ def post_p_3(cls): { "id": "mi(5,4,2)", "action": "click", - "policy": "add_assumption(sudoku(5,4,2))", + "operation": "add_assumption(sudoku(5,4,2))", } ], "children": [], @@ -22966,7 +22966,7 @@ def post_p_3(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -23012,7 +23012,7 @@ def post_p_3(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -23031,7 +23031,7 @@ def post_p_3(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -23077,7 +23077,7 @@ def post_p_3(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -23096,7 +23096,7 @@ def post_p_3(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -23145,7 +23145,7 @@ def post_p_3(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -23170,7 +23170,7 @@ def post_p_3(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -23195,7 +23195,7 @@ def post_p_3(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -24397,7 +24397,7 @@ def post_assumption_1(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -24416,7 +24416,7 @@ def post_assumption_1(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -24436,7 +24436,7 @@ def post_assumption_1(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -24456,7 +24456,7 @@ def post_assumption_1(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -24497,7 +24497,7 @@ def post_assumption_1(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -24516,7 +24516,7 @@ def post_assumption_1(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -24536,7 +24536,7 @@ def post_assumption_1(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -24577,7 +24577,7 @@ def post_assumption_1(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -24596,7 +24596,7 @@ def post_assumption_1(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -24616,7 +24616,7 @@ def post_assumption_1(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -24636,7 +24636,7 @@ def post_assumption_1(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -24656,7 +24656,7 @@ def post_assumption_1(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -24697,7 +24697,7 @@ def post_assumption_1(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -24716,7 +24716,7 @@ def post_assumption_1(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -24736,7 +24736,7 @@ def post_assumption_1(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -24756,7 +24756,7 @@ def post_assumption_1(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -24797,7 +24797,7 @@ def post_assumption_1(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -24816,7 +24816,7 @@ def post_assumption_1(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -24836,7 +24836,7 @@ def post_assumption_1(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -24877,7 +24877,7 @@ def post_assumption_1(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -24896,7 +24896,7 @@ def post_assumption_1(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -24916,7 +24916,7 @@ def post_assumption_1(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -24936,7 +24936,7 @@ def post_assumption_1(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -24956,7 +24956,7 @@ def post_assumption_1(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -24997,7 +24997,7 @@ def post_assumption_1(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -25016,7 +25016,7 @@ def post_assumption_1(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -25036,7 +25036,7 @@ def post_assumption_1(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -25077,7 +25077,7 @@ def post_assumption_1(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -25096,7 +25096,7 @@ def post_assumption_1(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -25116,7 +25116,7 @@ def post_assumption_1(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -25162,7 +25162,7 @@ def post_assumption_1(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -25181,7 +25181,7 @@ def post_assumption_1(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -25227,7 +25227,7 @@ def post_assumption_1(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -25246,7 +25246,7 @@ def post_assumption_1(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -25292,7 +25292,7 @@ def post_assumption_1(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -25311,7 +25311,7 @@ def post_assumption_1(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -25357,7 +25357,7 @@ def post_assumption_1(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -25376,7 +25376,7 @@ def post_assumption_1(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -25422,7 +25422,7 @@ def post_assumption_1(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -25441,7 +25441,7 @@ def post_assumption_1(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -25482,7 +25482,7 @@ def post_assumption_1(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -25501,7 +25501,7 @@ def post_assumption_1(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -25521,7 +25521,7 @@ def post_assumption_1(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -25562,7 +25562,7 @@ def post_assumption_1(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -25581,7 +25581,7 @@ def post_assumption_1(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -25601,7 +25601,7 @@ def post_assumption_1(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -25621,7 +25621,7 @@ def post_assumption_1(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -25641,7 +25641,7 @@ def post_assumption_1(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -25682,7 +25682,7 @@ def post_assumption_1(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -25701,7 +25701,7 @@ def post_assumption_1(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -25721,7 +25721,7 @@ def post_assumption_1(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -25762,7 +25762,7 @@ def post_assumption_1(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -25781,7 +25781,7 @@ def post_assumption_1(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -25801,7 +25801,7 @@ def post_assumption_1(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -25821,7 +25821,7 @@ def post_assumption_1(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -25841,7 +25841,7 @@ def post_assumption_1(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -25887,7 +25887,7 @@ def post_assumption_1(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -25906,7 +25906,7 @@ def post_assumption_1(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -25947,7 +25947,7 @@ def post_assumption_1(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -25966,7 +25966,7 @@ def post_assumption_1(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -25986,7 +25986,7 @@ def post_assumption_1(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -26027,7 +26027,7 @@ def post_assumption_1(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -26046,7 +26046,7 @@ def post_assumption_1(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -26066,7 +26066,7 @@ def post_assumption_1(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -26107,7 +26107,7 @@ def post_assumption_1(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -26126,7 +26126,7 @@ def post_assumption_1(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -26146,7 +26146,7 @@ def post_assumption_1(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -26166,7 +26166,7 @@ def post_assumption_1(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -26207,7 +26207,7 @@ def post_assumption_1(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -26226,7 +26226,7 @@ def post_assumption_1(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -26246,7 +26246,7 @@ def post_assumption_1(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -26266,7 +26266,7 @@ def post_assumption_1(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -26307,7 +26307,7 @@ def post_assumption_1(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -26326,7 +26326,7 @@ def post_assumption_1(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -26346,7 +26346,7 @@ def post_assumption_1(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -26366,7 +26366,7 @@ def post_assumption_1(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -26407,7 +26407,7 @@ def post_assumption_1(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -26426,7 +26426,7 @@ def post_assumption_1(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -26446,7 +26446,7 @@ def post_assumption_1(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -26466,7 +26466,7 @@ def post_assumption_1(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -26512,7 +26512,7 @@ def post_assumption_1(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -26531,7 +26531,7 @@ def post_assumption_1(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -26577,7 +26577,7 @@ def post_assumption_1(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -26596,7 +26596,7 @@ def post_assumption_1(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -26637,7 +26637,7 @@ def post_assumption_1(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -26656,7 +26656,7 @@ def post_assumption_1(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -26676,7 +26676,7 @@ def post_assumption_1(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -26696,7 +26696,7 @@ def post_assumption_1(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -26737,7 +26737,7 @@ def post_assumption_1(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -26756,7 +26756,7 @@ def post_assumption_1(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -26776,7 +26776,7 @@ def post_assumption_1(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -26796,7 +26796,7 @@ def post_assumption_1(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -26837,7 +26837,7 @@ def post_assumption_1(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -26856,7 +26856,7 @@ def post_assumption_1(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -26876,7 +26876,7 @@ def post_assumption_1(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -26922,7 +26922,7 @@ def post_assumption_1(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -26941,7 +26941,7 @@ def post_assumption_1(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -26987,7 +26987,7 @@ def post_assumption_1(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -27006,7 +27006,7 @@ def post_assumption_1(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -27052,7 +27052,7 @@ def post_assumption_1(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -27071,7 +27071,7 @@ def post_assumption_1(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -27117,7 +27117,7 @@ def post_assumption_1(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -27136,7 +27136,7 @@ def post_assumption_1(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -27177,7 +27177,7 @@ def post_assumption_1(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -27196,7 +27196,7 @@ def post_assumption_1(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -27216,7 +27216,7 @@ def post_assumption_1(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -27257,7 +27257,7 @@ def post_assumption_1(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -27276,7 +27276,7 @@ def post_assumption_1(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -27296,7 +27296,7 @@ def post_assumption_1(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -27342,7 +27342,7 @@ def post_assumption_1(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -27361,7 +27361,7 @@ def post_assumption_1(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -27407,7 +27407,7 @@ def post_assumption_1(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -27426,7 +27426,7 @@ def post_assumption_1(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -27472,7 +27472,7 @@ def post_assumption_1(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -27491,7 +27491,7 @@ def post_assumption_1(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -27537,7 +27537,7 @@ def post_assumption_1(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -27556,7 +27556,7 @@ def post_assumption_1(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -27597,7 +27597,7 @@ def post_assumption_1(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -27616,7 +27616,7 @@ def post_assumption_1(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -27636,7 +27636,7 @@ def post_assumption_1(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -27677,7 +27677,7 @@ def post_assumption_1(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -27696,7 +27696,7 @@ def post_assumption_1(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -27716,7 +27716,7 @@ def post_assumption_1(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -27762,7 +27762,7 @@ def post_assumption_1(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -27781,7 +27781,7 @@ def post_assumption_1(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -27827,7 +27827,7 @@ def post_assumption_1(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -27846,7 +27846,7 @@ def post_assumption_1(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -27892,7 +27892,7 @@ def post_assumption_1(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -27911,7 +27911,7 @@ def post_assumption_1(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -27957,7 +27957,7 @@ def post_assumption_1(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -27976,7 +27976,7 @@ def post_assumption_1(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -28022,7 +28022,7 @@ def post_assumption_1(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -28041,7 +28041,7 @@ def post_assumption_1(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -28087,7 +28087,7 @@ def post_assumption_1(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -28106,7 +28106,7 @@ def post_assumption_1(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -28147,7 +28147,7 @@ def post_assumption_1(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -28166,7 +28166,7 @@ def post_assumption_1(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -28186,7 +28186,7 @@ def post_assumption_1(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -28232,7 +28232,7 @@ def post_assumption_1(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -28251,7 +28251,7 @@ def post_assumption_1(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -28297,7 +28297,7 @@ def post_assumption_1(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -28316,7 +28316,7 @@ def post_assumption_1(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -28362,7 +28362,7 @@ def post_assumption_1(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -28381,7 +28381,7 @@ def post_assumption_1(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -28427,7 +28427,7 @@ def post_assumption_1(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -28446,7 +28446,7 @@ def post_assumption_1(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -28495,7 +28495,7 @@ def post_assumption_1(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -28520,7 +28520,7 @@ def post_assumption_1(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -28545,7 +28545,7 @@ def post_assumption_1(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -29747,7 +29747,7 @@ def post_assumption_2(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -29766,7 +29766,7 @@ def post_assumption_2(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -29786,7 +29786,7 @@ def post_assumption_2(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -29827,7 +29827,7 @@ def post_assumption_2(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -29846,7 +29846,7 @@ def post_assumption_2(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -29866,7 +29866,7 @@ def post_assumption_2(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -29912,7 +29912,7 @@ def post_assumption_2(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -29931,7 +29931,7 @@ def post_assumption_2(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -29972,7 +29972,7 @@ def post_assumption_2(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -29991,7 +29991,7 @@ def post_assumption_2(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -30011,7 +30011,7 @@ def post_assumption_2(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -30052,7 +30052,7 @@ def post_assumption_2(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -30071,7 +30071,7 @@ def post_assumption_2(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -30091,7 +30091,7 @@ def post_assumption_2(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -30137,7 +30137,7 @@ def post_assumption_2(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -30156,7 +30156,7 @@ def post_assumption_2(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -30202,7 +30202,7 @@ def post_assumption_2(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -30221,7 +30221,7 @@ def post_assumption_2(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -30262,7 +30262,7 @@ def post_assumption_2(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -30281,7 +30281,7 @@ def post_assumption_2(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -30301,7 +30301,7 @@ def post_assumption_2(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -30342,7 +30342,7 @@ def post_assumption_2(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -30361,7 +30361,7 @@ def post_assumption_2(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -30381,7 +30381,7 @@ def post_assumption_2(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -30401,7 +30401,7 @@ def post_assumption_2(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -30447,7 +30447,7 @@ def post_assumption_2(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -30466,7 +30466,7 @@ def post_assumption_2(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -30512,7 +30512,7 @@ def post_assumption_2(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -30531,7 +30531,7 @@ def post_assumption_2(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -30577,7 +30577,7 @@ def post_assumption_2(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -30596,7 +30596,7 @@ def post_assumption_2(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -30637,7 +30637,7 @@ def post_assumption_2(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -30656,7 +30656,7 @@ def post_assumption_2(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -30676,7 +30676,7 @@ def post_assumption_2(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -30717,7 +30717,7 @@ def post_assumption_2(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -30736,7 +30736,7 @@ def post_assumption_2(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -30756,7 +30756,7 @@ def post_assumption_2(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -30776,7 +30776,7 @@ def post_assumption_2(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -30817,7 +30817,7 @@ def post_assumption_2(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -30836,7 +30836,7 @@ def post_assumption_2(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -30856,7 +30856,7 @@ def post_assumption_2(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -30897,7 +30897,7 @@ def post_assumption_2(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -30916,7 +30916,7 @@ def post_assumption_2(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -30936,7 +30936,7 @@ def post_assumption_2(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -30956,7 +30956,7 @@ def post_assumption_2(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -30976,7 +30976,7 @@ def post_assumption_2(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -31022,7 +31022,7 @@ def post_assumption_2(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -31041,7 +31041,7 @@ def post_assumption_2(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -31082,7 +31082,7 @@ def post_assumption_2(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -31101,7 +31101,7 @@ def post_assumption_2(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -31121,7 +31121,7 @@ def post_assumption_2(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -31162,7 +31162,7 @@ def post_assumption_2(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -31181,7 +31181,7 @@ def post_assumption_2(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -31201,7 +31201,7 @@ def post_assumption_2(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -31247,7 +31247,7 @@ def post_assumption_2(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -31266,7 +31266,7 @@ def post_assumption_2(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -31312,7 +31312,7 @@ def post_assumption_2(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -31331,7 +31331,7 @@ def post_assumption_2(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -31377,7 +31377,7 @@ def post_assumption_2(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -31396,7 +31396,7 @@ def post_assumption_2(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -31442,7 +31442,7 @@ def post_assumption_2(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -31461,7 +31461,7 @@ def post_assumption_2(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -31502,7 +31502,7 @@ def post_assumption_2(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -31521,7 +31521,7 @@ def post_assumption_2(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -31541,7 +31541,7 @@ def post_assumption_2(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -31582,7 +31582,7 @@ def post_assumption_2(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -31601,7 +31601,7 @@ def post_assumption_2(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -31621,7 +31621,7 @@ def post_assumption_2(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -31641,7 +31641,7 @@ def post_assumption_2(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -31682,7 +31682,7 @@ def post_assumption_2(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -31701,7 +31701,7 @@ def post_assumption_2(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -31721,7 +31721,7 @@ def post_assumption_2(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -31762,7 +31762,7 @@ def post_assumption_2(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -31781,7 +31781,7 @@ def post_assumption_2(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -31801,7 +31801,7 @@ def post_assumption_2(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -31847,7 +31847,7 @@ def post_assumption_2(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -31866,7 +31866,7 @@ def post_assumption_2(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -31912,7 +31912,7 @@ def post_assumption_2(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -31931,7 +31931,7 @@ def post_assumption_2(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -31977,7 +31977,7 @@ def post_assumption_2(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -31996,7 +31996,7 @@ def post_assumption_2(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -32042,7 +32042,7 @@ def post_assumption_2(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -32061,7 +32061,7 @@ def post_assumption_2(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -32102,7 +32102,7 @@ def post_assumption_2(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -32121,7 +32121,7 @@ def post_assumption_2(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -32141,7 +32141,7 @@ def post_assumption_2(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -32182,7 +32182,7 @@ def post_assumption_2(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -32201,7 +32201,7 @@ def post_assumption_2(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -32221,7 +32221,7 @@ def post_assumption_2(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -32267,7 +32267,7 @@ def post_assumption_2(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -32286,7 +32286,7 @@ def post_assumption_2(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -32332,7 +32332,7 @@ def post_assumption_2(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -32351,7 +32351,7 @@ def post_assumption_2(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -32397,7 +32397,7 @@ def post_assumption_2(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -32416,7 +32416,7 @@ def post_assumption_2(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -32462,7 +32462,7 @@ def post_assumption_2(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -32481,7 +32481,7 @@ def post_assumption_2(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -32527,7 +32527,7 @@ def post_assumption_2(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -32546,7 +32546,7 @@ def post_assumption_2(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -32587,7 +32587,7 @@ def post_assumption_2(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -32606,7 +32606,7 @@ def post_assumption_2(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -32626,7 +32626,7 @@ def post_assumption_2(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -32667,7 +32667,7 @@ def post_assumption_2(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -32686,7 +32686,7 @@ def post_assumption_2(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -32706,7 +32706,7 @@ def post_assumption_2(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -32747,7 +32747,7 @@ def post_assumption_2(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -32766,7 +32766,7 @@ def post_assumption_2(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -32786,7 +32786,7 @@ def post_assumption_2(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -32832,7 +32832,7 @@ def post_assumption_2(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -32851,7 +32851,7 @@ def post_assumption_2(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -32897,7 +32897,7 @@ def post_assumption_2(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -32916,7 +32916,7 @@ def post_assumption_2(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -32962,7 +32962,7 @@ def post_assumption_2(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -32981,7 +32981,7 @@ def post_assumption_2(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -33027,7 +33027,7 @@ def post_assumption_2(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -33046,7 +33046,7 @@ def post_assumption_2(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -33092,7 +33092,7 @@ def post_assumption_2(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -33111,7 +33111,7 @@ def post_assumption_2(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -33157,7 +33157,7 @@ def post_assumption_2(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -33176,7 +33176,7 @@ def post_assumption_2(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -33217,7 +33217,7 @@ def post_assumption_2(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -33236,7 +33236,7 @@ def post_assumption_2(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -33256,7 +33256,7 @@ def post_assumption_2(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -33302,7 +33302,7 @@ def post_assumption_2(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -33321,7 +33321,7 @@ def post_assumption_2(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -33367,7 +33367,7 @@ def post_assumption_2(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -33386,7 +33386,7 @@ def post_assumption_2(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -33432,7 +33432,7 @@ def post_assumption_2(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -33451,7 +33451,7 @@ def post_assumption_2(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -33497,7 +33497,7 @@ def post_assumption_2(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -33516,7 +33516,7 @@ def post_assumption_2(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -33565,7 +33565,7 @@ def post_assumption_2(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -33590,7 +33590,7 @@ def post_assumption_2(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -33615,7 +33615,7 @@ def post_assumption_2(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -34822,7 +34822,7 @@ def post_assumption_3(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -34841,7 +34841,7 @@ def post_assumption_3(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -34887,7 +34887,7 @@ def post_assumption_3(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -34906,7 +34906,7 @@ def post_assumption_3(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -34952,7 +34952,7 @@ def post_assumption_3(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -34971,7 +34971,7 @@ def post_assumption_3(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -35017,7 +35017,7 @@ def post_assumption_3(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -35036,7 +35036,7 @@ def post_assumption_3(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -35082,7 +35082,7 @@ def post_assumption_3(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -35101,7 +35101,7 @@ def post_assumption_3(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -35147,7 +35147,7 @@ def post_assumption_3(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -35166,7 +35166,7 @@ def post_assumption_3(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -35212,7 +35212,7 @@ def post_assumption_3(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -35231,7 +35231,7 @@ def post_assumption_3(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -35277,7 +35277,7 @@ def post_assumption_3(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -35296,7 +35296,7 @@ def post_assumption_3(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -35342,7 +35342,7 @@ def post_assumption_3(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -35361,7 +35361,7 @@ def post_assumption_3(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -35407,7 +35407,7 @@ def post_assumption_3(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -35426,7 +35426,7 @@ def post_assumption_3(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -35467,7 +35467,7 @@ def post_assumption_3(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -35486,7 +35486,7 @@ def post_assumption_3(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -35506,7 +35506,7 @@ def post_assumption_3(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -35547,7 +35547,7 @@ def post_assumption_3(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -35566,7 +35566,7 @@ def post_assumption_3(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -35586,7 +35586,7 @@ def post_assumption_3(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -35606,7 +35606,7 @@ def post_assumption_3(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -35647,7 +35647,7 @@ def post_assumption_3(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -35666,7 +35666,7 @@ def post_assumption_3(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -35686,7 +35686,7 @@ def post_assumption_3(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -35727,7 +35727,7 @@ def post_assumption_3(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -35746,7 +35746,7 @@ def post_assumption_3(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -35766,7 +35766,7 @@ def post_assumption_3(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -35812,7 +35812,7 @@ def post_assumption_3(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -35831,7 +35831,7 @@ def post_assumption_3(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -35872,7 +35872,7 @@ def post_assumption_3(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -35891,7 +35891,7 @@ def post_assumption_3(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -35911,7 +35911,7 @@ def post_assumption_3(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -35952,7 +35952,7 @@ def post_assumption_3(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -35971,7 +35971,7 @@ def post_assumption_3(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -35991,7 +35991,7 @@ def post_assumption_3(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -36037,7 +36037,7 @@ def post_assumption_3(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -36056,7 +36056,7 @@ def post_assumption_3(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -36102,7 +36102,7 @@ def post_assumption_3(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -36121,7 +36121,7 @@ def post_assumption_3(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -36167,7 +36167,7 @@ def post_assumption_3(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -36186,7 +36186,7 @@ def post_assumption_3(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -36232,7 +36232,7 @@ def post_assumption_3(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -36251,7 +36251,7 @@ def post_assumption_3(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -36297,7 +36297,7 @@ def post_assumption_3(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -36316,7 +36316,7 @@ def post_assumption_3(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -36362,7 +36362,7 @@ def post_assumption_3(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -36381,7 +36381,7 @@ def post_assumption_3(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -36427,7 +36427,7 @@ def post_assumption_3(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -36446,7 +36446,7 @@ def post_assumption_3(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -36492,7 +36492,7 @@ def post_assumption_3(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -36511,7 +36511,7 @@ def post_assumption_3(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -36557,7 +36557,7 @@ def post_assumption_3(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -36576,7 +36576,7 @@ def post_assumption_3(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -36622,7 +36622,7 @@ def post_assumption_3(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -36641,7 +36641,7 @@ def post_assumption_3(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -36687,7 +36687,7 @@ def post_assumption_3(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -36706,7 +36706,7 @@ def post_assumption_3(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -36747,7 +36747,7 @@ def post_assumption_3(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -36766,7 +36766,7 @@ def post_assumption_3(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -36786,7 +36786,7 @@ def post_assumption_3(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -36827,7 +36827,7 @@ def post_assumption_3(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -36846,7 +36846,7 @@ def post_assumption_3(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -36866,7 +36866,7 @@ def post_assumption_3(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -36907,7 +36907,7 @@ def post_assumption_3(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -36926,7 +36926,7 @@ def post_assumption_3(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -36946,7 +36946,7 @@ def post_assumption_3(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -36966,7 +36966,7 @@ def post_assumption_3(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -37012,7 +37012,7 @@ def post_assumption_3(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -37031,7 +37031,7 @@ def post_assumption_3(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -37077,7 +37077,7 @@ def post_assumption_3(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -37096,7 +37096,7 @@ def post_assumption_3(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -37142,7 +37142,7 @@ def post_assumption_3(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -37161,7 +37161,7 @@ def post_assumption_3(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -37207,7 +37207,7 @@ def post_assumption_3(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -37226,7 +37226,7 @@ def post_assumption_3(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -37272,7 +37272,7 @@ def post_assumption_3(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -37291,7 +37291,7 @@ def post_assumption_3(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -37332,7 +37332,7 @@ def post_assumption_3(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -37351,7 +37351,7 @@ def post_assumption_3(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -37371,7 +37371,7 @@ def post_assumption_3(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -37412,7 +37412,7 @@ def post_assumption_3(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -37431,7 +37431,7 @@ def post_assumption_3(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -37451,7 +37451,7 @@ def post_assumption_3(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -37492,7 +37492,7 @@ def post_assumption_3(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -37511,7 +37511,7 @@ def post_assumption_3(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -37531,7 +37531,7 @@ def post_assumption_3(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -37577,7 +37577,7 @@ def post_assumption_3(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -37596,7 +37596,7 @@ def post_assumption_3(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -37642,7 +37642,7 @@ def post_assumption_3(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -37661,7 +37661,7 @@ def post_assumption_3(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -37707,7 +37707,7 @@ def post_assumption_3(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -37726,7 +37726,7 @@ def post_assumption_3(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -37767,7 +37767,7 @@ def post_assumption_3(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -37786,7 +37786,7 @@ def post_assumption_3(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -37806,7 +37806,7 @@ def post_assumption_3(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -37852,7 +37852,7 @@ def post_assumption_3(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -37871,7 +37871,7 @@ def post_assumption_3(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -37917,7 +37917,7 @@ def post_assumption_3(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -37936,7 +37936,7 @@ def post_assumption_3(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -37982,7 +37982,7 @@ def post_assumption_3(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -38001,7 +38001,7 @@ def post_assumption_3(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -38047,7 +38047,7 @@ def post_assumption_3(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -38066,7 +38066,7 @@ def post_assumption_3(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -38107,7 +38107,7 @@ def post_assumption_3(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -38126,7 +38126,7 @@ def post_assumption_3(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -38146,7 +38146,7 @@ def post_assumption_3(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -38192,7 +38192,7 @@ def post_assumption_3(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -38211,7 +38211,7 @@ def post_assumption_3(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -38257,7 +38257,7 @@ def post_assumption_3(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -38276,7 +38276,7 @@ def post_assumption_3(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -38322,7 +38322,7 @@ def post_assumption_3(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -38341,7 +38341,7 @@ def post_assumption_3(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -38387,7 +38387,7 @@ def post_assumption_3(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -38406,7 +38406,7 @@ def post_assumption_3(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -38455,7 +38455,7 @@ def post_assumption_3(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -38480,7 +38480,7 @@ def post_assumption_3(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -38505,7 +38505,7 @@ def post_assumption_3(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -39712,7 +39712,7 @@ def post_assumption_4(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -39731,7 +39731,7 @@ def post_assumption_4(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -39777,7 +39777,7 @@ def post_assumption_4(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -39796,7 +39796,7 @@ def post_assumption_4(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -39842,7 +39842,7 @@ def post_assumption_4(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -39861,7 +39861,7 @@ def post_assumption_4(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -39907,7 +39907,7 @@ def post_assumption_4(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -39926,7 +39926,7 @@ def post_assumption_4(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -39972,7 +39972,7 @@ def post_assumption_4(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -39991,7 +39991,7 @@ def post_assumption_4(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -40037,7 +40037,7 @@ def post_assumption_4(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -40056,7 +40056,7 @@ def post_assumption_4(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -40102,7 +40102,7 @@ def post_assumption_4(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -40121,7 +40121,7 @@ def post_assumption_4(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -40167,7 +40167,7 @@ def post_assumption_4(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -40186,7 +40186,7 @@ def post_assumption_4(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -40232,7 +40232,7 @@ def post_assumption_4(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -40251,7 +40251,7 @@ def post_assumption_4(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -40297,7 +40297,7 @@ def post_assumption_4(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -40316,7 +40316,7 @@ def post_assumption_4(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -40362,7 +40362,7 @@ def post_assumption_4(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -40381,7 +40381,7 @@ def post_assumption_4(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -40427,7 +40427,7 @@ def post_assumption_4(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -40446,7 +40446,7 @@ def post_assumption_4(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -40492,7 +40492,7 @@ def post_assumption_4(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -40511,7 +40511,7 @@ def post_assumption_4(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -40557,7 +40557,7 @@ def post_assumption_4(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -40576,7 +40576,7 @@ def post_assumption_4(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -40622,7 +40622,7 @@ def post_assumption_4(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -40641,7 +40641,7 @@ def post_assumption_4(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -40687,7 +40687,7 @@ def post_assumption_4(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -40706,7 +40706,7 @@ def post_assumption_4(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -40752,7 +40752,7 @@ def post_assumption_4(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -40771,7 +40771,7 @@ def post_assumption_4(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -40817,7 +40817,7 @@ def post_assumption_4(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -40836,7 +40836,7 @@ def post_assumption_4(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -40882,7 +40882,7 @@ def post_assumption_4(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -40901,7 +40901,7 @@ def post_assumption_4(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -40947,7 +40947,7 @@ def post_assumption_4(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -40966,7 +40966,7 @@ def post_assumption_4(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -41012,7 +41012,7 @@ def post_assumption_4(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -41031,7 +41031,7 @@ def post_assumption_4(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -41077,7 +41077,7 @@ def post_assumption_4(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -41096,7 +41096,7 @@ def post_assumption_4(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -41142,7 +41142,7 @@ def post_assumption_4(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -41161,7 +41161,7 @@ def post_assumption_4(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -41207,7 +41207,7 @@ def post_assumption_4(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -41226,7 +41226,7 @@ def post_assumption_4(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -41272,7 +41272,7 @@ def post_assumption_4(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -41291,7 +41291,7 @@ def post_assumption_4(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -41332,7 +41332,7 @@ def post_assumption_4(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -41351,7 +41351,7 @@ def post_assumption_4(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -41371,7 +41371,7 @@ def post_assumption_4(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -41412,7 +41412,7 @@ def post_assumption_4(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -41431,7 +41431,7 @@ def post_assumption_4(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -41451,7 +41451,7 @@ def post_assumption_4(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -41492,7 +41492,7 @@ def post_assumption_4(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -41511,7 +41511,7 @@ def post_assumption_4(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -41531,7 +41531,7 @@ def post_assumption_4(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -41572,7 +41572,7 @@ def post_assumption_4(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -41591,7 +41591,7 @@ def post_assumption_4(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -41611,7 +41611,7 @@ def post_assumption_4(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -41631,7 +41631,7 @@ def post_assumption_4(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -41677,7 +41677,7 @@ def post_assumption_4(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -41696,7 +41696,7 @@ def post_assumption_4(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -41742,7 +41742,7 @@ def post_assumption_4(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -41761,7 +41761,7 @@ def post_assumption_4(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -41807,7 +41807,7 @@ def post_assumption_4(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -41826,7 +41826,7 @@ def post_assumption_4(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -41872,7 +41872,7 @@ def post_assumption_4(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -41891,7 +41891,7 @@ def post_assumption_4(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -41937,7 +41937,7 @@ def post_assumption_4(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -41956,7 +41956,7 @@ def post_assumption_4(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -41997,7 +41997,7 @@ def post_assumption_4(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -42016,7 +42016,7 @@ def post_assumption_4(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -42036,7 +42036,7 @@ def post_assumption_4(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -42077,7 +42077,7 @@ def post_assumption_4(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -42096,7 +42096,7 @@ def post_assumption_4(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -42116,7 +42116,7 @@ def post_assumption_4(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -42157,7 +42157,7 @@ def post_assumption_4(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -42176,7 +42176,7 @@ def post_assumption_4(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -42196,7 +42196,7 @@ def post_assumption_4(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -42242,7 +42242,7 @@ def post_assumption_4(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -42261,7 +42261,7 @@ def post_assumption_4(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -42307,7 +42307,7 @@ def post_assumption_4(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -42326,7 +42326,7 @@ def post_assumption_4(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -42372,7 +42372,7 @@ def post_assumption_4(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -42391,7 +42391,7 @@ def post_assumption_4(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -42437,7 +42437,7 @@ def post_assumption_4(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -42456,7 +42456,7 @@ def post_assumption_4(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -42502,7 +42502,7 @@ def post_assumption_4(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -42521,7 +42521,7 @@ def post_assumption_4(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -42567,7 +42567,7 @@ def post_assumption_4(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -42586,7 +42586,7 @@ def post_assumption_4(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -42632,7 +42632,7 @@ def post_assumption_4(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -42651,7 +42651,7 @@ def post_assumption_4(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -42697,7 +42697,7 @@ def post_assumption_4(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -42716,7 +42716,7 @@ def post_assumption_4(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -42762,7 +42762,7 @@ def post_assumption_4(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -42781,7 +42781,7 @@ def post_assumption_4(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -42827,7 +42827,7 @@ def post_assumption_4(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -42846,7 +42846,7 @@ def post_assumption_4(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -42892,7 +42892,7 @@ def post_assumption_4(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -42911,7 +42911,7 @@ def post_assumption_4(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -42957,7 +42957,7 @@ def post_assumption_4(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -42976,7 +42976,7 @@ def post_assumption_4(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -43022,7 +43022,7 @@ def post_assumption_4(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -43041,7 +43041,7 @@ def post_assumption_4(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -43087,7 +43087,7 @@ def post_assumption_4(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -43106,7 +43106,7 @@ def post_assumption_4(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -43152,7 +43152,7 @@ def post_assumption_4(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -43171,7 +43171,7 @@ def post_assumption_4(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -43220,7 +43220,7 @@ def post_assumption_4(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -43245,7 +43245,7 @@ def post_assumption_4(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -43270,7 +43270,7 @@ def post_assumption_4(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -44477,7 +44477,7 @@ def post_assumption_5(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -44496,7 +44496,7 @@ def post_assumption_5(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -44542,7 +44542,7 @@ def post_assumption_5(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -44561,7 +44561,7 @@ def post_assumption_5(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -44607,7 +44607,7 @@ def post_assumption_5(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -44626,7 +44626,7 @@ def post_assumption_5(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -44672,7 +44672,7 @@ def post_assumption_5(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -44691,7 +44691,7 @@ def post_assumption_5(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -44737,7 +44737,7 @@ def post_assumption_5(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -44756,7 +44756,7 @@ def post_assumption_5(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -44802,7 +44802,7 @@ def post_assumption_5(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -44821,7 +44821,7 @@ def post_assumption_5(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -44867,7 +44867,7 @@ def post_assumption_5(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -44886,7 +44886,7 @@ def post_assumption_5(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -44932,7 +44932,7 @@ def post_assumption_5(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -44951,7 +44951,7 @@ def post_assumption_5(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -44997,7 +44997,7 @@ def post_assumption_5(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -45016,7 +45016,7 @@ def post_assumption_5(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -45062,7 +45062,7 @@ def post_assumption_5(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -45081,7 +45081,7 @@ def post_assumption_5(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -45127,7 +45127,7 @@ def post_assumption_5(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -45146,7 +45146,7 @@ def post_assumption_5(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -45192,7 +45192,7 @@ def post_assumption_5(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -45211,7 +45211,7 @@ def post_assumption_5(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -45257,7 +45257,7 @@ def post_assumption_5(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -45276,7 +45276,7 @@ def post_assumption_5(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -45322,7 +45322,7 @@ def post_assumption_5(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -45341,7 +45341,7 @@ def post_assumption_5(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -45387,7 +45387,7 @@ def post_assumption_5(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -45406,7 +45406,7 @@ def post_assumption_5(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -45452,7 +45452,7 @@ def post_assumption_5(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -45471,7 +45471,7 @@ def post_assumption_5(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -45517,7 +45517,7 @@ def post_assumption_5(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -45536,7 +45536,7 @@ def post_assumption_5(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -45582,7 +45582,7 @@ def post_assumption_5(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -45601,7 +45601,7 @@ def post_assumption_5(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -45647,7 +45647,7 @@ def post_assumption_5(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -45666,7 +45666,7 @@ def post_assumption_5(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -45712,7 +45712,7 @@ def post_assumption_5(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -45731,7 +45731,7 @@ def post_assumption_5(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -45777,7 +45777,7 @@ def post_assumption_5(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -45796,7 +45796,7 @@ def post_assumption_5(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -45842,7 +45842,7 @@ def post_assumption_5(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -45861,7 +45861,7 @@ def post_assumption_5(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -45907,7 +45907,7 @@ def post_assumption_5(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -45926,7 +45926,7 @@ def post_assumption_5(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -45972,7 +45972,7 @@ def post_assumption_5(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -45991,7 +45991,7 @@ def post_assumption_5(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -46037,7 +46037,7 @@ def post_assumption_5(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -46056,7 +46056,7 @@ def post_assumption_5(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -46102,7 +46102,7 @@ def post_assumption_5(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -46121,7 +46121,7 @@ def post_assumption_5(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -46167,7 +46167,7 @@ def post_assumption_5(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -46186,7 +46186,7 @@ def post_assumption_5(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -46232,7 +46232,7 @@ def post_assumption_5(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -46251,7 +46251,7 @@ def post_assumption_5(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -46297,7 +46297,7 @@ def post_assumption_5(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -46316,7 +46316,7 @@ def post_assumption_5(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -46362,7 +46362,7 @@ def post_assumption_5(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -46381,7 +46381,7 @@ def post_assumption_5(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -46427,7 +46427,7 @@ def post_assumption_5(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -46446,7 +46446,7 @@ def post_assumption_5(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -46492,7 +46492,7 @@ def post_assumption_5(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -46511,7 +46511,7 @@ def post_assumption_5(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -46552,7 +46552,7 @@ def post_assumption_5(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -46571,7 +46571,7 @@ def post_assumption_5(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -46591,7 +46591,7 @@ def post_assumption_5(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -46632,7 +46632,7 @@ def post_assumption_5(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -46651,7 +46651,7 @@ def post_assumption_5(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -46671,7 +46671,7 @@ def post_assumption_5(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -46712,7 +46712,7 @@ def post_assumption_5(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -46731,7 +46731,7 @@ def post_assumption_5(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -46751,7 +46751,7 @@ def post_assumption_5(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -46792,7 +46792,7 @@ def post_assumption_5(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -46811,7 +46811,7 @@ def post_assumption_5(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -46831,7 +46831,7 @@ def post_assumption_5(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -46877,7 +46877,7 @@ def post_assumption_5(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -46896,7 +46896,7 @@ def post_assumption_5(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -46942,7 +46942,7 @@ def post_assumption_5(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -46961,7 +46961,7 @@ def post_assumption_5(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -47007,7 +47007,7 @@ def post_assumption_5(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -47026,7 +47026,7 @@ def post_assumption_5(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -47072,7 +47072,7 @@ def post_assumption_5(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -47091,7 +47091,7 @@ def post_assumption_5(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -47137,7 +47137,7 @@ def post_assumption_5(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -47156,7 +47156,7 @@ def post_assumption_5(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -47202,7 +47202,7 @@ def post_assumption_5(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -47221,7 +47221,7 @@ def post_assumption_5(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -47267,7 +47267,7 @@ def post_assumption_5(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -47286,7 +47286,7 @@ def post_assumption_5(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -47332,7 +47332,7 @@ def post_assumption_5(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -47351,7 +47351,7 @@ def post_assumption_5(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -47397,7 +47397,7 @@ def post_assumption_5(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -47416,7 +47416,7 @@ def post_assumption_5(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -47462,7 +47462,7 @@ def post_assumption_5(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -47481,7 +47481,7 @@ def post_assumption_5(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -47527,7 +47527,7 @@ def post_assumption_5(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -47546,7 +47546,7 @@ def post_assumption_5(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -47592,7 +47592,7 @@ def post_assumption_5(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -47611,7 +47611,7 @@ def post_assumption_5(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -47657,7 +47657,7 @@ def post_assumption_5(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -47676,7 +47676,7 @@ def post_assumption_5(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -47722,7 +47722,7 @@ def post_assumption_5(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -47741,7 +47741,7 @@ def post_assumption_5(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -47787,7 +47787,7 @@ def post_assumption_5(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -47806,7 +47806,7 @@ def post_assumption_5(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -47852,7 +47852,7 @@ def post_assumption_5(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -47871,7 +47871,7 @@ def post_assumption_5(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -47920,7 +47920,7 @@ def post_assumption_5(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -47945,7 +47945,7 @@ def post_assumption_5(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -47970,7 +47970,7 @@ def post_assumption_5(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -49177,7 +49177,7 @@ def post_assumption_6(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -49196,7 +49196,7 @@ def post_assumption_6(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -49242,7 +49242,7 @@ def post_assumption_6(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -49261,7 +49261,7 @@ def post_assumption_6(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -49307,7 +49307,7 @@ def post_assumption_6(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -49326,7 +49326,7 @@ def post_assumption_6(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -49372,7 +49372,7 @@ def post_assumption_6(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -49391,7 +49391,7 @@ def post_assumption_6(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -49437,7 +49437,7 @@ def post_assumption_6(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -49456,7 +49456,7 @@ def post_assumption_6(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -49502,7 +49502,7 @@ def post_assumption_6(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -49521,7 +49521,7 @@ def post_assumption_6(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -49567,7 +49567,7 @@ def post_assumption_6(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -49586,7 +49586,7 @@ def post_assumption_6(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -49632,7 +49632,7 @@ def post_assumption_6(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -49651,7 +49651,7 @@ def post_assumption_6(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -49697,7 +49697,7 @@ def post_assumption_6(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -49716,7 +49716,7 @@ def post_assumption_6(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -49762,7 +49762,7 @@ def post_assumption_6(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -49781,7 +49781,7 @@ def post_assumption_6(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -49827,7 +49827,7 @@ def post_assumption_6(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -49846,7 +49846,7 @@ def post_assumption_6(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -49892,7 +49892,7 @@ def post_assumption_6(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -49911,7 +49911,7 @@ def post_assumption_6(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -49957,7 +49957,7 @@ def post_assumption_6(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -49976,7 +49976,7 @@ def post_assumption_6(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -50022,7 +50022,7 @@ def post_assumption_6(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -50041,7 +50041,7 @@ def post_assumption_6(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -50087,7 +50087,7 @@ def post_assumption_6(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -50106,7 +50106,7 @@ def post_assumption_6(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -50152,7 +50152,7 @@ def post_assumption_6(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -50171,7 +50171,7 @@ def post_assumption_6(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -50217,7 +50217,7 @@ def post_assumption_6(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -50236,7 +50236,7 @@ def post_assumption_6(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -50282,7 +50282,7 @@ def post_assumption_6(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -50301,7 +50301,7 @@ def post_assumption_6(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -50347,7 +50347,7 @@ def post_assumption_6(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -50366,7 +50366,7 @@ def post_assumption_6(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -50412,7 +50412,7 @@ def post_assumption_6(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -50431,7 +50431,7 @@ def post_assumption_6(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -50477,7 +50477,7 @@ def post_assumption_6(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -50496,7 +50496,7 @@ def post_assumption_6(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -50542,7 +50542,7 @@ def post_assumption_6(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -50561,7 +50561,7 @@ def post_assumption_6(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -50607,7 +50607,7 @@ def post_assumption_6(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -50626,7 +50626,7 @@ def post_assumption_6(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -50672,7 +50672,7 @@ def post_assumption_6(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -50691,7 +50691,7 @@ def post_assumption_6(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -50737,7 +50737,7 @@ def post_assumption_6(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -50756,7 +50756,7 @@ def post_assumption_6(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -50802,7 +50802,7 @@ def post_assumption_6(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -50821,7 +50821,7 @@ def post_assumption_6(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -50867,7 +50867,7 @@ def post_assumption_6(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -50886,7 +50886,7 @@ def post_assumption_6(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -50932,7 +50932,7 @@ def post_assumption_6(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -50951,7 +50951,7 @@ def post_assumption_6(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -50997,7 +50997,7 @@ def post_assumption_6(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -51016,7 +51016,7 @@ def post_assumption_6(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -51062,7 +51062,7 @@ def post_assumption_6(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -51081,7 +51081,7 @@ def post_assumption_6(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -51127,7 +51127,7 @@ def post_assumption_6(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -51146,7 +51146,7 @@ def post_assumption_6(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -51192,7 +51192,7 @@ def post_assumption_6(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -51211,7 +51211,7 @@ def post_assumption_6(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -51257,7 +51257,7 @@ def post_assumption_6(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -51276,7 +51276,7 @@ def post_assumption_6(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -51322,7 +51322,7 @@ def post_assumption_6(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -51341,7 +51341,7 @@ def post_assumption_6(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -51387,7 +51387,7 @@ def post_assumption_6(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -51406,7 +51406,7 @@ def post_assumption_6(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -51452,7 +51452,7 @@ def post_assumption_6(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -51471,7 +51471,7 @@ def post_assumption_6(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -51517,7 +51517,7 @@ def post_assumption_6(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -51536,7 +51536,7 @@ def post_assumption_6(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -51582,7 +51582,7 @@ def post_assumption_6(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -51601,7 +51601,7 @@ def post_assumption_6(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -51647,7 +51647,7 @@ def post_assumption_6(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -51666,7 +51666,7 @@ def post_assumption_6(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -51712,7 +51712,7 @@ def post_assumption_6(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -51731,7 +51731,7 @@ def post_assumption_6(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -51777,7 +51777,7 @@ def post_assumption_6(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -51796,7 +51796,7 @@ def post_assumption_6(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -51842,7 +51842,7 @@ def post_assumption_6(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -51861,7 +51861,7 @@ def post_assumption_6(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -51907,7 +51907,7 @@ def post_assumption_6(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -51926,7 +51926,7 @@ def post_assumption_6(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -51972,7 +51972,7 @@ def post_assumption_6(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -51991,7 +51991,7 @@ def post_assumption_6(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -52037,7 +52037,7 @@ def post_assumption_6(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -52056,7 +52056,7 @@ def post_assumption_6(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -52102,7 +52102,7 @@ def post_assumption_6(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -52121,7 +52121,7 @@ def post_assumption_6(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -52167,7 +52167,7 @@ def post_assumption_6(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -52186,7 +52186,7 @@ def post_assumption_6(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -52232,7 +52232,7 @@ def post_assumption_6(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -52251,7 +52251,7 @@ def post_assumption_6(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -52297,7 +52297,7 @@ def post_assumption_6(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -52316,7 +52316,7 @@ def post_assumption_6(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -52362,7 +52362,7 @@ def post_assumption_6(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -52381,7 +52381,7 @@ def post_assumption_6(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -52427,7 +52427,7 @@ def post_assumption_6(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -52446,7 +52446,7 @@ def post_assumption_6(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -52492,7 +52492,7 @@ def post_assumption_6(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -52511,7 +52511,7 @@ def post_assumption_6(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -52560,7 +52560,7 @@ def post_assumption_6(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -52585,7 +52585,7 @@ def post_assumption_6(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -52610,7 +52610,7 @@ def post_assumption_6(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -53817,7 +53817,7 @@ def post_assumption_7(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -53836,7 +53836,7 @@ def post_assumption_7(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -53882,7 +53882,7 @@ def post_assumption_7(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -53901,7 +53901,7 @@ def post_assumption_7(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -53947,7 +53947,7 @@ def post_assumption_7(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -53966,7 +53966,7 @@ def post_assumption_7(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -54012,7 +54012,7 @@ def post_assumption_7(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -54031,7 +54031,7 @@ def post_assumption_7(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -54077,7 +54077,7 @@ def post_assumption_7(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -54096,7 +54096,7 @@ def post_assumption_7(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -54142,7 +54142,7 @@ def post_assumption_7(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -54161,7 +54161,7 @@ def post_assumption_7(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -54207,7 +54207,7 @@ def post_assumption_7(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -54226,7 +54226,7 @@ def post_assumption_7(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -54272,7 +54272,7 @@ def post_assumption_7(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -54291,7 +54291,7 @@ def post_assumption_7(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -54337,7 +54337,7 @@ def post_assumption_7(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -54356,7 +54356,7 @@ def post_assumption_7(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -54402,7 +54402,7 @@ def post_assumption_7(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -54421,7 +54421,7 @@ def post_assumption_7(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -54467,7 +54467,7 @@ def post_assumption_7(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -54486,7 +54486,7 @@ def post_assumption_7(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -54532,7 +54532,7 @@ def post_assumption_7(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -54551,7 +54551,7 @@ def post_assumption_7(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -54597,7 +54597,7 @@ def post_assumption_7(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -54616,7 +54616,7 @@ def post_assumption_7(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -54662,7 +54662,7 @@ def post_assumption_7(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -54681,7 +54681,7 @@ def post_assumption_7(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -54727,7 +54727,7 @@ def post_assumption_7(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -54746,7 +54746,7 @@ def post_assumption_7(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -54792,7 +54792,7 @@ def post_assumption_7(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -54811,7 +54811,7 @@ def post_assumption_7(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -54857,7 +54857,7 @@ def post_assumption_7(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -54876,7 +54876,7 @@ def post_assumption_7(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -54922,7 +54922,7 @@ def post_assumption_7(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -54941,7 +54941,7 @@ def post_assumption_7(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -54987,7 +54987,7 @@ def post_assumption_7(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -55006,7 +55006,7 @@ def post_assumption_7(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -55052,7 +55052,7 @@ def post_assumption_7(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -55071,7 +55071,7 @@ def post_assumption_7(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -55117,7 +55117,7 @@ def post_assumption_7(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -55136,7 +55136,7 @@ def post_assumption_7(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -55182,7 +55182,7 @@ def post_assumption_7(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -55201,7 +55201,7 @@ def post_assumption_7(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -55247,7 +55247,7 @@ def post_assumption_7(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -55266,7 +55266,7 @@ def post_assumption_7(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -55312,7 +55312,7 @@ def post_assumption_7(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -55331,7 +55331,7 @@ def post_assumption_7(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -55377,7 +55377,7 @@ def post_assumption_7(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -55396,7 +55396,7 @@ def post_assumption_7(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -55442,7 +55442,7 @@ def post_assumption_7(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -55461,7 +55461,7 @@ def post_assumption_7(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -55507,7 +55507,7 @@ def post_assumption_7(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -55526,7 +55526,7 @@ def post_assumption_7(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -55572,7 +55572,7 @@ def post_assumption_7(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -55591,7 +55591,7 @@ def post_assumption_7(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -55637,7 +55637,7 @@ def post_assumption_7(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -55656,7 +55656,7 @@ def post_assumption_7(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -55702,7 +55702,7 @@ def post_assumption_7(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -55721,7 +55721,7 @@ def post_assumption_7(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -55767,7 +55767,7 @@ def post_assumption_7(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -55786,7 +55786,7 @@ def post_assumption_7(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -55832,7 +55832,7 @@ def post_assumption_7(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -55851,7 +55851,7 @@ def post_assumption_7(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -55897,7 +55897,7 @@ def post_assumption_7(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -55916,7 +55916,7 @@ def post_assumption_7(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -55962,7 +55962,7 @@ def post_assumption_7(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -55981,7 +55981,7 @@ def post_assumption_7(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -56027,7 +56027,7 @@ def post_assumption_7(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -56046,7 +56046,7 @@ def post_assumption_7(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -56092,7 +56092,7 @@ def post_assumption_7(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -56111,7 +56111,7 @@ def post_assumption_7(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -56157,7 +56157,7 @@ def post_assumption_7(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -56176,7 +56176,7 @@ def post_assumption_7(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -56222,7 +56222,7 @@ def post_assumption_7(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -56241,7 +56241,7 @@ def post_assumption_7(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -56287,7 +56287,7 @@ def post_assumption_7(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -56306,7 +56306,7 @@ def post_assumption_7(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -56352,7 +56352,7 @@ def post_assumption_7(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -56371,7 +56371,7 @@ def post_assumption_7(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -56417,7 +56417,7 @@ def post_assumption_7(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -56436,7 +56436,7 @@ def post_assumption_7(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -56482,7 +56482,7 @@ def post_assumption_7(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -56501,7 +56501,7 @@ def post_assumption_7(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -56547,7 +56547,7 @@ def post_assumption_7(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -56566,7 +56566,7 @@ def post_assumption_7(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -56612,7 +56612,7 @@ def post_assumption_7(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -56631,7 +56631,7 @@ def post_assumption_7(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -56677,7 +56677,7 @@ def post_assumption_7(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -56696,7 +56696,7 @@ def post_assumption_7(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -56742,7 +56742,7 @@ def post_assumption_7(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -56761,7 +56761,7 @@ def post_assumption_7(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -56807,7 +56807,7 @@ def post_assumption_7(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -56826,7 +56826,7 @@ def post_assumption_7(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -56872,7 +56872,7 @@ def post_assumption_7(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -56891,7 +56891,7 @@ def post_assumption_7(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -56937,7 +56937,7 @@ def post_assumption_7(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -56956,7 +56956,7 @@ def post_assumption_7(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -57002,7 +57002,7 @@ def post_assumption_7(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -57021,7 +57021,7 @@ def post_assumption_7(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -57067,7 +57067,7 @@ def post_assumption_7(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -57086,7 +57086,7 @@ def post_assumption_7(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -57132,7 +57132,7 @@ def post_assumption_7(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -57151,7 +57151,7 @@ def post_assumption_7(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -57200,7 +57200,7 @@ def post_assumption_7(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -57225,7 +57225,7 @@ def post_assumption_7(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -57250,7 +57250,7 @@ def post_assumption_7(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -58457,7 +58457,7 @@ def post_assumption_8(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -58476,7 +58476,7 @@ def post_assumption_8(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -58522,7 +58522,7 @@ def post_assumption_8(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -58541,7 +58541,7 @@ def post_assumption_8(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -58587,7 +58587,7 @@ def post_assumption_8(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -58606,7 +58606,7 @@ def post_assumption_8(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -58652,7 +58652,7 @@ def post_assumption_8(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -58671,7 +58671,7 @@ def post_assumption_8(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -58717,7 +58717,7 @@ def post_assumption_8(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -58736,7 +58736,7 @@ def post_assumption_8(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -58782,7 +58782,7 @@ def post_assumption_8(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -58801,7 +58801,7 @@ def post_assumption_8(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -58847,7 +58847,7 @@ def post_assumption_8(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -58866,7 +58866,7 @@ def post_assumption_8(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -58912,7 +58912,7 @@ def post_assumption_8(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -58931,7 +58931,7 @@ def post_assumption_8(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -58977,7 +58977,7 @@ def post_assumption_8(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -58996,7 +58996,7 @@ def post_assumption_8(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -59042,7 +59042,7 @@ def post_assumption_8(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -59061,7 +59061,7 @@ def post_assumption_8(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -59107,7 +59107,7 @@ def post_assumption_8(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -59126,7 +59126,7 @@ def post_assumption_8(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -59172,7 +59172,7 @@ def post_assumption_8(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -59191,7 +59191,7 @@ def post_assumption_8(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -59237,7 +59237,7 @@ def post_assumption_8(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -59256,7 +59256,7 @@ def post_assumption_8(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -59302,7 +59302,7 @@ def post_assumption_8(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -59321,7 +59321,7 @@ def post_assumption_8(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -59367,7 +59367,7 @@ def post_assumption_8(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -59386,7 +59386,7 @@ def post_assumption_8(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -59432,7 +59432,7 @@ def post_assumption_8(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -59451,7 +59451,7 @@ def post_assumption_8(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -59497,7 +59497,7 @@ def post_assumption_8(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -59516,7 +59516,7 @@ def post_assumption_8(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -59562,7 +59562,7 @@ def post_assumption_8(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -59581,7 +59581,7 @@ def post_assumption_8(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -59627,7 +59627,7 @@ def post_assumption_8(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -59646,7 +59646,7 @@ def post_assumption_8(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -59692,7 +59692,7 @@ def post_assumption_8(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -59711,7 +59711,7 @@ def post_assumption_8(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -59757,7 +59757,7 @@ def post_assumption_8(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -59776,7 +59776,7 @@ def post_assumption_8(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -59822,7 +59822,7 @@ def post_assumption_8(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -59841,7 +59841,7 @@ def post_assumption_8(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -59887,7 +59887,7 @@ def post_assumption_8(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -59906,7 +59906,7 @@ def post_assumption_8(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -59952,7 +59952,7 @@ def post_assumption_8(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -59971,7 +59971,7 @@ def post_assumption_8(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -60017,7 +60017,7 @@ def post_assumption_8(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -60036,7 +60036,7 @@ def post_assumption_8(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -60082,7 +60082,7 @@ def post_assumption_8(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -60101,7 +60101,7 @@ def post_assumption_8(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -60147,7 +60147,7 @@ def post_assumption_8(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -60166,7 +60166,7 @@ def post_assumption_8(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -60212,7 +60212,7 @@ def post_assumption_8(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -60231,7 +60231,7 @@ def post_assumption_8(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -60277,7 +60277,7 @@ def post_assumption_8(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -60296,7 +60296,7 @@ def post_assumption_8(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -60342,7 +60342,7 @@ def post_assumption_8(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -60361,7 +60361,7 @@ def post_assumption_8(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -60407,7 +60407,7 @@ def post_assumption_8(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -60426,7 +60426,7 @@ def post_assumption_8(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -60472,7 +60472,7 @@ def post_assumption_8(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -60491,7 +60491,7 @@ def post_assumption_8(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -60537,7 +60537,7 @@ def post_assumption_8(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -60556,7 +60556,7 @@ def post_assumption_8(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -60602,7 +60602,7 @@ def post_assumption_8(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -60621,7 +60621,7 @@ def post_assumption_8(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -60667,7 +60667,7 @@ def post_assumption_8(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -60686,7 +60686,7 @@ def post_assumption_8(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -60732,7 +60732,7 @@ def post_assumption_8(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -60751,7 +60751,7 @@ def post_assumption_8(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -60797,7 +60797,7 @@ def post_assumption_8(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -60816,7 +60816,7 @@ def post_assumption_8(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -60862,7 +60862,7 @@ def post_assumption_8(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -60881,7 +60881,7 @@ def post_assumption_8(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -60927,7 +60927,7 @@ def post_assumption_8(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -60946,7 +60946,7 @@ def post_assumption_8(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -60992,7 +60992,7 @@ def post_assumption_8(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -61011,7 +61011,7 @@ def post_assumption_8(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -61057,7 +61057,7 @@ def post_assumption_8(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -61076,7 +61076,7 @@ def post_assumption_8(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -61122,7 +61122,7 @@ def post_assumption_8(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -61141,7 +61141,7 @@ def post_assumption_8(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -61187,7 +61187,7 @@ def post_assumption_8(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -61206,7 +61206,7 @@ def post_assumption_8(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -61252,7 +61252,7 @@ def post_assumption_8(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -61271,7 +61271,7 @@ def post_assumption_8(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -61317,7 +61317,7 @@ def post_assumption_8(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -61336,7 +61336,7 @@ def post_assumption_8(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -61382,7 +61382,7 @@ def post_assumption_8(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -61401,7 +61401,7 @@ def post_assumption_8(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -61447,7 +61447,7 @@ def post_assumption_8(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -61466,7 +61466,7 @@ def post_assumption_8(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -61512,7 +61512,7 @@ def post_assumption_8(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -61531,7 +61531,7 @@ def post_assumption_8(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -61577,7 +61577,7 @@ def post_assumption_8(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -61596,7 +61596,7 @@ def post_assumption_8(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -61642,7 +61642,7 @@ def post_assumption_8(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -61661,7 +61661,7 @@ def post_assumption_8(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -61707,7 +61707,7 @@ def post_assumption_8(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -61726,7 +61726,7 @@ def post_assumption_8(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -61772,7 +61772,7 @@ def post_assumption_8(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -61791,7 +61791,7 @@ def post_assumption_8(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -61840,7 +61840,7 @@ def post_assumption_8(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -61865,7 +61865,7 @@ def post_assumption_8(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -61890,7 +61890,7 @@ def post_assumption_8(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], @@ -63112,7 +63112,7 @@ def post_assumption_9(cls): { "id": "m(8,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,9,any))", + "operation": "remove_assumption_signature(sudoku(8,9,any))", } ], "children": [ @@ -63131,7 +63131,7 @@ def post_assumption_9(cls): { "id": "mi(8,9,9)", "action": "click", - "policy": "add_assumption(sudoku(8,9,9))", + "operation": "add_assumption(sudoku(8,9,9))", } ], "children": [], @@ -63151,7 +63151,7 @@ def post_assumption_9(cls): { "id": "mi(8,9,8)", "action": "click", - "policy": "add_assumption(sudoku(8,9,8))", + "operation": "add_assumption(sudoku(8,9,8))", } ], "children": [], @@ -63171,7 +63171,7 @@ def post_assumption_9(cls): { "id": "mi(8,9,5)", "action": "click", - "policy": "add_assumption(sudoku(8,9,5))", + "operation": "add_assumption(sudoku(8,9,5))", } ], "children": [], @@ -63212,7 +63212,7 @@ def post_assumption_9(cls): { "id": "m(5,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,9,any))", + "operation": "remove_assumption_signature(sudoku(5,9,any))", } ], "children": [ @@ -63231,7 +63231,7 @@ def post_assumption_9(cls): { "id": "mi(5,9,9)", "action": "click", - "policy": "add_assumption(sudoku(5,9,9))", + "operation": "add_assumption(sudoku(5,9,9))", } ], "children": [], @@ -63251,7 +63251,7 @@ def post_assumption_9(cls): { "id": "mi(5,9,5)", "action": "click", - "policy": "add_assumption(sudoku(5,9,5))", + "operation": "add_assumption(sudoku(5,9,5))", } ], "children": [], @@ -63271,7 +63271,7 @@ def post_assumption_9(cls): { "id": "mi(5,9,3)", "action": "click", - "policy": "add_assumption(sudoku(5,9,3))", + "operation": "add_assumption(sudoku(5,9,3))", } ], "children": [], @@ -63291,7 +63291,7 @@ def post_assumption_9(cls): { "id": "mi(5,9,1)", "action": "click", - "policy": "add_assumption(sudoku(5,9,1))", + "operation": "add_assumption(sudoku(5,9,1))", } ], "children": [], @@ -63332,7 +63332,7 @@ def post_assumption_9(cls): { "id": "m(2,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,9,any))", + "operation": "remove_assumption_signature(sudoku(2,9,any))", } ], "children": [ @@ -63351,7 +63351,7 @@ def post_assumption_9(cls): { "id": "mi(2,9,9)", "action": "click", - "policy": "add_assumption(sudoku(2,9,9))", + "operation": "add_assumption(sudoku(2,9,9))", } ], "children": [], @@ -63371,7 +63371,7 @@ def post_assumption_9(cls): { "id": "mi(2,9,8)", "action": "click", - "policy": "add_assumption(sudoku(2,9,8))", + "operation": "add_assumption(sudoku(2,9,8))", } ], "children": [], @@ -63391,7 +63391,7 @@ def post_assumption_9(cls): { "id": "mi(2,9,7)", "action": "click", - "policy": "add_assumption(sudoku(2,9,7))", + "operation": "add_assumption(sudoku(2,9,7))", } ], "children": [], @@ -63411,7 +63411,7 @@ def post_assumption_9(cls): { "id": "mi(2,9,5)", "action": "click", - "policy": "add_assumption(sudoku(2,9,5))", + "operation": "add_assumption(sudoku(2,9,5))", } ], "children": [], @@ -63431,7 +63431,7 @@ def post_assumption_9(cls): { "id": "mi(2,9,2)", "action": "click", - "policy": "add_assumption(sudoku(2,9,2))", + "operation": "add_assumption(sudoku(2,9,2))", } ], "children": [], @@ -63472,7 +63472,7 @@ def post_assumption_9(cls): { "id": "m(8,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,8,any))", + "operation": "remove_assumption_signature(sudoku(8,8,any))", } ], "children": [ @@ -63491,7 +63491,7 @@ def post_assumption_9(cls): { "id": "mi(8,8,9)", "action": "click", - "policy": "add_assumption(sudoku(8,8,9))", + "operation": "add_assumption(sudoku(8,8,9))", } ], "children": [], @@ -63511,7 +63511,7 @@ def post_assumption_9(cls): { "id": "mi(8,8,8)", "action": "click", - "policy": "add_assumption(sudoku(8,8,8))", + "operation": "add_assumption(sudoku(8,8,8))", } ], "children": [], @@ -63531,7 +63531,7 @@ def post_assumption_9(cls): { "id": "mi(8,8,5)", "action": "click", - "policy": "add_assumption(sudoku(8,8,5))", + "operation": "add_assumption(sudoku(8,8,5))", } ], "children": [], @@ -63572,7 +63572,7 @@ def post_assumption_9(cls): { "id": "m(5,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,8,any))", + "operation": "remove_assumption_signature(sudoku(5,8,any))", } ], "children": [ @@ -63591,7 +63591,7 @@ def post_assumption_9(cls): { "id": "mi(5,8,9)", "action": "click", - "policy": "add_assumption(sudoku(5,8,9))", + "operation": "add_assumption(sudoku(5,8,9))", } ], "children": [], @@ -63611,7 +63611,7 @@ def post_assumption_9(cls): { "id": "mi(5,8,5)", "action": "click", - "policy": "add_assumption(sudoku(5,8,5))", + "operation": "add_assumption(sudoku(5,8,5))", } ], "children": [], @@ -63631,7 +63631,7 @@ def post_assumption_9(cls): { "id": "mi(5,8,3)", "action": "click", - "policy": "add_assumption(sudoku(5,8,3))", + "operation": "add_assumption(sudoku(5,8,3))", } ], "children": [], @@ -63651,7 +63651,7 @@ def post_assumption_9(cls): { "id": "mi(5,8,1)", "action": "click", - "policy": "add_assumption(sudoku(5,8,1))", + "operation": "add_assumption(sudoku(5,8,1))", } ], "children": [], @@ -63692,7 +63692,7 @@ def post_assumption_9(cls): { "id": "m(2,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,8,any))", + "operation": "remove_assumption_signature(sudoku(2,8,any))", } ], "children": [ @@ -63711,7 +63711,7 @@ def post_assumption_9(cls): { "id": "mi(2,8,9)", "action": "click", - "policy": "add_assumption(sudoku(2,8,9))", + "operation": "add_assumption(sudoku(2,8,9))", } ], "children": [], @@ -63731,7 +63731,7 @@ def post_assumption_9(cls): { "id": "mi(2,8,8)", "action": "click", - "policy": "add_assumption(sudoku(2,8,8))", + "operation": "add_assumption(sudoku(2,8,8))", } ], "children": [], @@ -63751,7 +63751,7 @@ def post_assumption_9(cls): { "id": "mi(2,8,7)", "action": "click", - "policy": "add_assumption(sudoku(2,8,7))", + "operation": "add_assumption(sudoku(2,8,7))", } ], "children": [], @@ -63771,7 +63771,7 @@ def post_assumption_9(cls): { "id": "mi(2,8,5)", "action": "click", - "policy": "add_assumption(sudoku(2,8,5))", + "operation": "add_assumption(sudoku(2,8,5))", } ], "children": [], @@ -63791,7 +63791,7 @@ def post_assumption_9(cls): { "id": "mi(2,8,2)", "action": "click", - "policy": "add_assumption(sudoku(2,8,2))", + "operation": "add_assumption(sudoku(2,8,2))", } ], "children": [], @@ -63832,7 +63832,7 @@ def post_assumption_9(cls): { "id": "m(8,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,7,any))", + "operation": "remove_assumption_signature(sudoku(8,7,any))", } ], "children": [ @@ -63851,7 +63851,7 @@ def post_assumption_9(cls): { "id": "mi(8,7,9)", "action": "click", - "policy": "add_assumption(sudoku(8,7,9))", + "operation": "add_assumption(sudoku(8,7,9))", } ], "children": [], @@ -63871,7 +63871,7 @@ def post_assumption_9(cls): { "id": "mi(8,7,5)", "action": "click", - "policy": "add_assumption(sudoku(8,7,5))", + "operation": "add_assumption(sudoku(8,7,5))", } ], "children": [], @@ -63912,7 +63912,7 @@ def post_assumption_9(cls): { "id": "m(2,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,7,any))", + "operation": "remove_assumption_signature(sudoku(2,7,any))", } ], "children": [ @@ -63931,7 +63931,7 @@ def post_assumption_9(cls): { "id": "mi(2,7,9)", "action": "click", - "policy": "add_assumption(sudoku(2,7,9))", + "operation": "add_assumption(sudoku(2,7,9))", } ], "children": [], @@ -63951,7 +63951,7 @@ def post_assumption_9(cls): { "id": "mi(2,7,5)", "action": "click", - "policy": "add_assumption(sudoku(2,7,5))", + "operation": "add_assumption(sudoku(2,7,5))", } ], "children": [], @@ -63971,7 +63971,7 @@ def post_assumption_9(cls): { "id": "mi(2,7,2)", "action": "click", - "policy": "add_assumption(sudoku(2,7,2))", + "operation": "add_assumption(sudoku(2,7,2))", } ], "children": [], @@ -64017,7 +64017,7 @@ def post_assumption_9(cls): { "id": "m(6,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,5,any))", + "operation": "remove_assumption_signature(sudoku(6,5,any))", } ], "children": [ @@ -64036,7 +64036,7 @@ def post_assumption_9(cls): { "id": "mi(6,5,9)", "action": "click", - "policy": "add_assumption(sudoku(6,5,9))", + "operation": "add_assumption(sudoku(6,5,9))", } ], "children": [], @@ -64082,7 +64082,7 @@ def post_assumption_9(cls): { "id": "m(4,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,1,any))", + "operation": "remove_assumption_signature(sudoku(4,1,any))", } ], "children": [ @@ -64101,7 +64101,7 @@ def post_assumption_9(cls): { "id": "mi(4,1,9)", "action": "click", - "policy": "add_assumption(sudoku(4,1,9))", + "operation": "add_assumption(sudoku(4,1,9))", } ], "children": [], @@ -64142,7 +64142,7 @@ def post_assumption_9(cls): { "id": "m(1,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,9,any))", + "operation": "remove_assumption_signature(sudoku(1,9,any))", } ], "children": [ @@ -64161,7 +64161,7 @@ def post_assumption_9(cls): { "id": "mi(1,9,8)", "action": "click", - "policy": "add_assumption(sudoku(1,9,8))", + "operation": "add_assumption(sudoku(1,9,8))", } ], "children": [], @@ -64181,7 +64181,7 @@ def post_assumption_9(cls): { "id": "mi(1,9,5)", "action": "click", - "policy": "add_assumption(sudoku(1,9,5))", + "operation": "add_assumption(sudoku(1,9,5))", } ], "children": [], @@ -64201,7 +64201,7 @@ def post_assumption_9(cls): { "id": "mi(1,9,2)", "action": "click", - "policy": "add_assumption(sudoku(1,9,2))", + "operation": "add_assumption(sudoku(1,9,2))", } ], "children": [], @@ -64221,7 +64221,7 @@ def post_assumption_9(cls): { "id": "mi(1,9,1)", "action": "click", - "policy": "add_assumption(sudoku(1,9,1))", + "operation": "add_assumption(sudoku(1,9,1))", } ], "children": [], @@ -64262,7 +64262,7 @@ def post_assumption_9(cls): { "id": "m(1,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,8,any))", + "operation": "remove_assumption_signature(sudoku(1,8,any))", } ], "children": [ @@ -64281,7 +64281,7 @@ def post_assumption_9(cls): { "id": "mi(1,8,8)", "action": "click", - "policy": "add_assumption(sudoku(1,8,8))", + "operation": "add_assumption(sudoku(1,8,8))", } ], "children": [], @@ -64301,7 +64301,7 @@ def post_assumption_9(cls): { "id": "mi(1,8,5)", "action": "click", - "policy": "add_assumption(sudoku(1,8,5))", + "operation": "add_assumption(sudoku(1,8,5))", } ], "children": [], @@ -64321,7 +64321,7 @@ def post_assumption_9(cls): { "id": "mi(1,8,2)", "action": "click", - "policy": "add_assumption(sudoku(1,8,2))", + "operation": "add_assumption(sudoku(1,8,2))", } ], "children": [], @@ -64341,7 +64341,7 @@ def post_assumption_9(cls): { "id": "mi(1,8,1)", "action": "click", - "policy": "add_assumption(sudoku(1,8,1))", + "operation": "add_assumption(sudoku(1,8,1))", } ], "children": [], @@ -64387,7 +64387,7 @@ def post_assumption_9(cls): { "id": "m(9,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,4,any))", + "operation": "remove_assumption_signature(sudoku(9,4,any))", } ], "children": [ @@ -64406,7 +64406,7 @@ def post_assumption_9(cls): { "id": "mi(9,4,8)", "action": "click", - "policy": "add_assumption(sudoku(9,4,8))", + "operation": "add_assumption(sudoku(9,4,8))", } ], "children": [], @@ -64447,7 +64447,7 @@ def post_assumption_9(cls): { "id": "m(2,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,3,any))", + "operation": "remove_assumption_signature(sudoku(2,3,any))", } ], "children": [ @@ -64466,7 +64466,7 @@ def post_assumption_9(cls): { "id": "mi(2,3,8)", "action": "click", - "policy": "add_assumption(sudoku(2,3,8))", + "operation": "add_assumption(sudoku(2,3,8))", } ], "children": [], @@ -64486,7 +64486,7 @@ def post_assumption_9(cls): { "id": "mi(2,3,4)", "action": "click", - "policy": "add_assumption(sudoku(2,3,4))", + "operation": "add_assumption(sudoku(2,3,4))", } ], "children": [], @@ -64506,7 +64506,7 @@ def post_assumption_9(cls): { "id": "mi(2,3,2)", "action": "click", - "policy": "add_assumption(sudoku(2,3,2))", + "operation": "add_assumption(sudoku(2,3,2))", } ], "children": [], @@ -64547,7 +64547,7 @@ def post_assumption_9(cls): { "id": "m(1,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,3,any))", + "operation": "remove_assumption_signature(sudoku(1,3,any))", } ], "children": [ @@ -64566,7 +64566,7 @@ def post_assumption_9(cls): { "id": "mi(1,3,8)", "action": "click", - "policy": "add_assumption(sudoku(1,3,8))", + "operation": "add_assumption(sudoku(1,3,8))", } ], "children": [], @@ -64586,7 +64586,7 @@ def post_assumption_9(cls): { "id": "mi(1,3,2)", "action": "click", - "policy": "add_assumption(sudoku(1,3,2))", + "operation": "add_assumption(sudoku(1,3,2))", } ], "children": [], @@ -64632,7 +64632,7 @@ def post_assumption_9(cls): { "id": "m(7,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,2,any))", + "operation": "remove_assumption_signature(sudoku(7,2,any))", } ], "children": [ @@ -64651,7 +64651,7 @@ def post_assumption_9(cls): { "id": "mi(7,2,8)", "action": "click", - "policy": "add_assumption(sudoku(7,2,8))", + "operation": "add_assumption(sudoku(7,2,8))", } ], "children": [], @@ -64692,7 +64692,7 @@ def post_assumption_9(cls): { "id": "m(9,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,9,any))", + "operation": "remove_assumption_signature(sudoku(9,9,any))", } ], "children": [ @@ -64711,7 +64711,7 @@ def post_assumption_9(cls): { "id": "mi(9,9,7)", "action": "click", - "policy": "add_assumption(sudoku(9,9,7))", + "operation": "add_assumption(sudoku(9,9,7))", } ], "children": [], @@ -64731,7 +64731,7 @@ def post_assumption_9(cls): { "id": "mi(9,9,4)", "action": "click", - "policy": "add_assumption(sudoku(9,9,4))", + "operation": "add_assumption(sudoku(9,9,4))", } ], "children": [], @@ -64751,7 +64751,7 @@ def post_assumption_9(cls): { "id": "mi(9,9,2)", "action": "click", - "policy": "add_assumption(sudoku(9,9,2))", + "operation": "add_assumption(sudoku(9,9,2))", } ], "children": [], @@ -64792,7 +64792,7 @@ def post_assumption_9(cls): { "id": "m(3,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,9,any))", + "operation": "remove_assumption_signature(sudoku(3,9,any))", } ], "children": [ @@ -64811,7 +64811,7 @@ def post_assumption_9(cls): { "id": "mi(3,9,7)", "action": "click", - "policy": "add_assumption(sudoku(3,9,7))", + "operation": "add_assumption(sudoku(3,9,7))", } ], "children": [], @@ -64831,7 +64831,7 @@ def post_assumption_9(cls): { "id": "mi(3,9,4)", "action": "click", - "policy": "add_assumption(sudoku(3,9,4))", + "operation": "add_assumption(sudoku(3,9,4))", } ], "children": [], @@ -64851,7 +64851,7 @@ def post_assumption_9(cls): { "id": "mi(3,9,3)", "action": "click", - "policy": "add_assumption(sudoku(3,9,3))", + "operation": "add_assumption(sudoku(3,9,3))", } ], "children": [], @@ -64871,7 +64871,7 @@ def post_assumption_9(cls): { "id": "mi(3,9,1)", "action": "click", - "policy": "add_assumption(sudoku(3,9,1))", + "operation": "add_assumption(sudoku(3,9,1))", } ], "children": [], @@ -64912,7 +64912,7 @@ def post_assumption_9(cls): { "id": "m(9,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,8,any))", + "operation": "remove_assumption_signature(sudoku(9,8,any))", } ], "children": [ @@ -64931,7 +64931,7 @@ def post_assumption_9(cls): { "id": "mi(9,8,7)", "action": "click", - "policy": "add_assumption(sudoku(9,8,7))", + "operation": "add_assumption(sudoku(9,8,7))", } ], "children": [], @@ -64951,7 +64951,7 @@ def post_assumption_9(cls): { "id": "mi(9,8,4)", "action": "click", - "policy": "add_assumption(sudoku(9,8,4))", + "operation": "add_assumption(sudoku(9,8,4))", } ], "children": [], @@ -64971,7 +64971,7 @@ def post_assumption_9(cls): { "id": "mi(9,8,2)", "action": "click", - "policy": "add_assumption(sudoku(9,8,2))", + "operation": "add_assumption(sudoku(9,8,2))", } ], "children": [], @@ -65012,7 +65012,7 @@ def post_assumption_9(cls): { "id": "m(3,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,8,any))", + "operation": "remove_assumption_signature(sudoku(3,8,any))", } ], "children": [ @@ -65031,7 +65031,7 @@ def post_assumption_9(cls): { "id": "mi(3,8,7)", "action": "click", - "policy": "add_assumption(sudoku(3,8,7))", + "operation": "add_assumption(sudoku(3,8,7))", } ], "children": [], @@ -65051,7 +65051,7 @@ def post_assumption_9(cls): { "id": "mi(3,8,4)", "action": "click", - "policy": "add_assumption(sudoku(3,8,4))", + "operation": "add_assumption(sudoku(3,8,4))", } ], "children": [], @@ -65071,7 +65071,7 @@ def post_assumption_9(cls): { "id": "mi(3,8,3)", "action": "click", - "policy": "add_assumption(sudoku(3,8,3))", + "operation": "add_assumption(sudoku(3,8,3))", } ], "children": [], @@ -65091,7 +65091,7 @@ def post_assumption_9(cls): { "id": "mi(3,8,1)", "action": "click", - "policy": "add_assumption(sudoku(3,8,1))", + "operation": "add_assumption(sudoku(3,8,1))", } ], "children": [], @@ -65137,7 +65137,7 @@ def post_assumption_9(cls): { "id": "m(4,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,6,any))", + "operation": "remove_assumption_signature(sudoku(4,6,any))", } ], "children": [ @@ -65156,7 +65156,7 @@ def post_assumption_9(cls): { "id": "mi(4,6,7)", "action": "click", - "policy": "add_assumption(sudoku(4,6,7))", + "operation": "add_assumption(sudoku(4,6,7))", } ], "children": [], @@ -65197,7 +65197,7 @@ def post_assumption_9(cls): { "id": "m(3,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,1,any))", + "operation": "remove_assumption_signature(sudoku(3,1,any))", } ], "children": [ @@ -65216,7 +65216,7 @@ def post_assumption_9(cls): { "id": "mi(3,1,7)", "action": "click", - "policy": "add_assumption(sudoku(3,1,7))", + "operation": "add_assumption(sudoku(3,1,7))", } ], "children": [], @@ -65236,7 +65236,7 @@ def post_assumption_9(cls): { "id": "mi(3,1,1)", "action": "click", - "policy": "add_assumption(sudoku(3,1,1))", + "operation": "add_assumption(sudoku(3,1,1))", } ], "children": [], @@ -65277,7 +65277,7 @@ def post_assumption_9(cls): { "id": "m(2,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,1,any))", + "operation": "remove_assumption_signature(sudoku(2,1,any))", } ], "children": [ @@ -65296,7 +65296,7 @@ def post_assumption_9(cls): { "id": "mi(2,1,7)", "action": "click", - "policy": "add_assumption(sudoku(2,1,7))", + "operation": "add_assumption(sudoku(2,1,7))", } ], "children": [], @@ -65316,7 +65316,7 @@ def post_assumption_9(cls): { "id": "mi(2,1,5)", "action": "click", - "policy": "add_assumption(sudoku(2,1,5))", + "operation": "add_assumption(sudoku(2,1,5))", } ], "children": [], @@ -65336,7 +65336,7 @@ def post_assumption_9(cls): { "id": "mi(2,1,2)", "action": "click", - "policy": "add_assumption(sudoku(2,1,2))", + "operation": "add_assumption(sudoku(2,1,2))", } ], "children": [], @@ -65377,7 +65377,7 @@ def post_assumption_9(cls): { "id": "m(7,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,9,any))", + "operation": "remove_assumption_signature(sudoku(7,9,any))", } ], "children": [ @@ -65396,7 +65396,7 @@ def post_assumption_9(cls): { "id": "mi(7,9,6)", "action": "click", - "policy": "add_assumption(sudoku(7,9,6))", + "operation": "add_assumption(sudoku(7,9,6))", } ], "children": [], @@ -65416,7 +65416,7 @@ def post_assumption_9(cls): { "id": "mi(7,9,3)", "action": "click", - "policy": "add_assumption(sudoku(7,9,3))", + "operation": "add_assumption(sudoku(7,9,3))", } ], "children": [], @@ -65436,7 +65436,7 @@ def post_assumption_9(cls): { "id": "mi(7,9,1)", "action": "click", - "policy": "add_assumption(sudoku(7,9,1))", + "operation": "add_assumption(sudoku(7,9,1))", } ], "children": [], @@ -65477,7 +65477,7 @@ def post_assumption_9(cls): { "id": "m(4,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,9,any))", + "operation": "remove_assumption_signature(sudoku(4,9,any))", } ], "children": [ @@ -65496,7 +65496,7 @@ def post_assumption_9(cls): { "id": "mi(4,9,6)", "action": "click", - "policy": "add_assumption(sudoku(4,9,6))", + "operation": "add_assumption(sudoku(4,9,6))", } ], "children": [], @@ -65516,7 +65516,7 @@ def post_assumption_9(cls): { "id": "mi(4,9,5)", "action": "click", - "policy": "add_assumption(sudoku(4,9,5))", + "operation": "add_assumption(sudoku(4,9,5))", } ], "children": [], @@ -65536,7 +65536,7 @@ def post_assumption_9(cls): { "id": "mi(4,9,2)", "action": "click", - "policy": "add_assumption(sudoku(4,9,2))", + "operation": "add_assumption(sudoku(4,9,2))", } ], "children": [], @@ -65556,7 +65556,7 @@ def post_assumption_9(cls): { "id": "mi(4,9,1)", "action": "click", - "policy": "add_assumption(sudoku(4,9,1))", + "operation": "add_assumption(sudoku(4,9,1))", } ], "children": [], @@ -65597,7 +65597,7 @@ def post_assumption_9(cls): { "id": "m(7,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,8,any))", + "operation": "remove_assumption_signature(sudoku(7,8,any))", } ], "children": [ @@ -65616,7 +65616,7 @@ def post_assumption_9(cls): { "id": "mi(7,8,6)", "action": "click", - "policy": "add_assumption(sudoku(7,8,6))", + "operation": "add_assumption(sudoku(7,8,6))", } ], "children": [], @@ -65636,7 +65636,7 @@ def post_assumption_9(cls): { "id": "mi(7,8,3)", "action": "click", - "policy": "add_assumption(sudoku(7,8,3))", + "operation": "add_assumption(sudoku(7,8,3))", } ], "children": [], @@ -65656,7 +65656,7 @@ def post_assumption_9(cls): { "id": "mi(7,8,1)", "action": "click", - "policy": "add_assumption(sudoku(7,8,1))", + "operation": "add_assumption(sudoku(7,8,1))", } ], "children": [], @@ -65697,7 +65697,7 @@ def post_assumption_9(cls): { "id": "m(4,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,8,any))", + "operation": "remove_assumption_signature(sudoku(4,8,any))", } ], "children": [ @@ -65716,7 +65716,7 @@ def post_assumption_9(cls): { "id": "mi(4,8,6)", "action": "click", - "policy": "add_assumption(sudoku(4,8,6))", + "operation": "add_assumption(sudoku(4,8,6))", } ], "children": [], @@ -65736,7 +65736,7 @@ def post_assumption_9(cls): { "id": "mi(4,8,5)", "action": "click", - "policy": "add_assumption(sudoku(4,8,5))", + "operation": "add_assumption(sudoku(4,8,5))", } ], "children": [], @@ -65756,7 +65756,7 @@ def post_assumption_9(cls): { "id": "mi(4,8,2)", "action": "click", - "policy": "add_assumption(sudoku(4,8,2))", + "operation": "add_assumption(sudoku(4,8,2))", } ], "children": [], @@ -65776,7 +65776,7 @@ def post_assumption_9(cls): { "id": "mi(4,8,1)", "action": "click", - "policy": "add_assumption(sudoku(4,8,1))", + "operation": "add_assumption(sudoku(4,8,1))", } ], "children": [], @@ -65822,7 +65822,7 @@ def post_assumption_9(cls): { "id": "m(5,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,5,any))", + "operation": "remove_assumption_signature(sudoku(5,5,any))", } ], "children": [ @@ -65841,7 +65841,7 @@ def post_assumption_9(cls): { "id": "mi(5,5,6)", "action": "click", - "policy": "add_assumption(sudoku(5,5,6))", + "operation": "add_assumption(sudoku(5,5,6))", } ], "children": [], @@ -65887,7 +65887,7 @@ def post_assumption_9(cls): { "id": "m(3,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,2,any))", + "operation": "remove_assumption_signature(sudoku(3,2,any))", } ], "children": [ @@ -65906,7 +65906,7 @@ def post_assumption_9(cls): { "id": "mi(3,2,6)", "action": "click", - "policy": "add_assumption(sudoku(3,2,6))", + "operation": "add_assumption(sudoku(3,2,6))", } ], "children": [], @@ -65947,7 +65947,7 @@ def post_assumption_9(cls): { "id": "m(6,9)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,9,any))", + "operation": "remove_assumption_signature(sudoku(6,9,any))", } ], "children": [ @@ -65966,7 +65966,7 @@ def post_assumption_9(cls): { "id": "mi(6,9,5)", "action": "click", - "policy": "add_assumption(sudoku(6,9,5))", + "operation": "add_assumption(sudoku(6,9,5))", } ], "children": [], @@ -65986,7 +65986,7 @@ def post_assumption_9(cls): { "id": "mi(6,9,4)", "action": "click", - "policy": "add_assumption(sudoku(6,9,4))", + "operation": "add_assumption(sudoku(6,9,4))", } ], "children": [], @@ -66006,7 +66006,7 @@ def post_assumption_9(cls): { "id": "mi(6,9,3)", "action": "click", - "policy": "add_assumption(sudoku(6,9,3))", + "operation": "add_assumption(sudoku(6,9,3))", } ], "children": [], @@ -66026,7 +66026,7 @@ def post_assumption_9(cls): { "id": "mi(6,9,1)", "action": "click", - "policy": "add_assumption(sudoku(6,9,1))", + "operation": "add_assumption(sudoku(6,9,1))", } ], "children": [], @@ -66067,7 +66067,7 @@ def post_assumption_9(cls): { "id": "m(6,8)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,8,any))", + "operation": "remove_assumption_signature(sudoku(6,8,any))", } ], "children": [ @@ -66086,7 +66086,7 @@ def post_assumption_9(cls): { "id": "mi(6,8,5)", "action": "click", - "policy": "add_assumption(sudoku(6,8,5))", + "operation": "add_assumption(sudoku(6,8,5))", } ], "children": [], @@ -66106,7 +66106,7 @@ def post_assumption_9(cls): { "id": "mi(6,8,4)", "action": "click", - "policy": "add_assumption(sudoku(6,8,4))", + "operation": "add_assumption(sudoku(6,8,4))", } ], "children": [], @@ -66126,7 +66126,7 @@ def post_assumption_9(cls): { "id": "mi(6,8,3)", "action": "click", - "policy": "add_assumption(sudoku(6,8,3))", + "operation": "add_assumption(sudoku(6,8,3))", } ], "children": [], @@ -66146,7 +66146,7 @@ def post_assumption_9(cls): { "id": "mi(6,8,1)", "action": "click", - "policy": "add_assumption(sudoku(6,8,1))", + "operation": "add_assumption(sudoku(6,8,1))", } ], "children": [], @@ -66187,7 +66187,7 @@ def post_assumption_9(cls): { "id": "m(4,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,7,any))", + "operation": "remove_assumption_signature(sudoku(4,7,any))", } ], "children": [ @@ -66206,7 +66206,7 @@ def post_assumption_9(cls): { "id": "mi(4,7,5)", "action": "click", - "policy": "add_assumption(sudoku(4,7,5))", + "operation": "add_assumption(sudoku(4,7,5))", } ], "children": [], @@ -66226,7 +66226,7 @@ def post_assumption_9(cls): { "id": "mi(4,7,2)", "action": "click", - "policy": "add_assumption(sudoku(4,7,2))", + "operation": "add_assumption(sudoku(4,7,2))", } ], "children": [], @@ -66246,7 +66246,7 @@ def post_assumption_9(cls): { "id": "mi(4,7,1)", "action": "click", - "policy": "add_assumption(sudoku(4,7,1))", + "operation": "add_assumption(sudoku(4,7,1))", } ], "children": [], @@ -66287,7 +66287,7 @@ def post_assumption_9(cls): { "id": "m(6,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,6,any))", + "operation": "remove_assumption_signature(sudoku(6,6,any))", } ], "children": [ @@ -66306,7 +66306,7 @@ def post_assumption_9(cls): { "id": "mi(6,6,5)", "action": "click", - "policy": "add_assumption(sudoku(6,6,5))", + "operation": "add_assumption(sudoku(6,6,5))", } ], "children": [], @@ -66326,7 +66326,7 @@ def post_assumption_9(cls): { "id": "mi(6,6,3)", "action": "click", - "policy": "add_assumption(sudoku(6,6,3))", + "operation": "add_assumption(sudoku(6,6,3))", } ], "children": [], @@ -66367,7 +66367,7 @@ def post_assumption_9(cls): { "id": "m(5,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,6,any))", + "operation": "remove_assumption_signature(sudoku(5,6,any))", } ], "children": [ @@ -66386,7 +66386,7 @@ def post_assumption_9(cls): { "id": "mi(5,6,5)", "action": "click", - "policy": "add_assumption(sudoku(5,6,5))", + "operation": "add_assumption(sudoku(5,6,5))", } ], "children": [], @@ -66406,7 +66406,7 @@ def post_assumption_9(cls): { "id": "mi(5,6,3)", "action": "click", - "policy": "add_assumption(sudoku(5,6,3))", + "operation": "add_assumption(sudoku(5,6,3))", } ], "children": [], @@ -66452,7 +66452,7 @@ def post_assumption_9(cls): { "id": "m(3,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,4,any))", + "operation": "remove_assumption_signature(sudoku(3,4,any))", } ], "children": [ @@ -66471,7 +66471,7 @@ def post_assumption_9(cls): { "id": "mi(3,4,5)", "action": "click", - "policy": "add_assumption(sudoku(3,4,5))", + "operation": "add_assumption(sudoku(3,4,5))", } ], "children": [], @@ -66512,7 +66512,7 @@ def post_assumption_9(cls): { "id": "m(5,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,2,any))", + "operation": "remove_assumption_signature(sudoku(5,2,any))", } ], "children": [ @@ -66531,7 +66531,7 @@ def post_assumption_9(cls): { "id": "mi(5,2,5)", "action": "click", - "policy": "add_assumption(sudoku(5,2,5))", + "operation": "add_assumption(sudoku(5,2,5))", } ], "children": [], @@ -66551,7 +66551,7 @@ def post_assumption_9(cls): { "id": "mi(5,2,4)", "action": "click", - "policy": "add_assumption(sudoku(5,2,4))", + "operation": "add_assumption(sudoku(5,2,4))", } ], "children": [], @@ -66571,7 +66571,7 @@ def post_assumption_9(cls): { "id": "mi(5,2,1)", "action": "click", - "policy": "add_assumption(sudoku(5,2,1))", + "operation": "add_assumption(sudoku(5,2,1))", } ], "children": [], @@ -66612,7 +66612,7 @@ def post_assumption_9(cls): { "id": "m(4,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(4,2,any))", + "operation": "remove_assumption_signature(sudoku(4,2,any))", } ], "children": [ @@ -66631,7 +66631,7 @@ def post_assumption_9(cls): { "id": "mi(4,2,5)", "action": "click", - "policy": "add_assumption(sudoku(4,2,5))", + "operation": "add_assumption(sudoku(4,2,5))", } ], "children": [], @@ -66651,7 +66651,7 @@ def post_assumption_9(cls): { "id": "mi(4,2,1)", "action": "click", - "policy": "add_assumption(sudoku(4,2,1))", + "operation": "add_assumption(sudoku(4,2,1))", } ], "children": [], @@ -66692,7 +66692,7 @@ def post_assumption_9(cls): { "id": "m(2,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(2,2,any))", + "operation": "remove_assumption_signature(sudoku(2,2,any))", } ], "children": [ @@ -66711,7 +66711,7 @@ def post_assumption_9(cls): { "id": "mi(2,2,5)", "action": "click", - "policy": "add_assumption(sudoku(2,2,5))", + "operation": "add_assumption(sudoku(2,2,5))", } ], "children": [], @@ -66731,7 +66731,7 @@ def post_assumption_9(cls): { "id": "mi(2,2,4)", "action": "click", - "policy": "add_assumption(sudoku(2,2,4))", + "operation": "add_assumption(sudoku(2,2,4))", } ], "children": [], @@ -66772,7 +66772,7 @@ def post_assumption_9(cls): { "id": "m(6,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,1,any))", + "operation": "remove_assumption_signature(sudoku(6,1,any))", } ], "children": [ @@ -66791,7 +66791,7 @@ def post_assumption_9(cls): { "id": "mi(6,1,5)", "action": "click", - "policy": "add_assumption(sudoku(6,1,5))", + "operation": "add_assumption(sudoku(6,1,5))", } ], "children": [], @@ -66811,7 +66811,7 @@ def post_assumption_9(cls): { "id": "mi(6,1,2)", "action": "click", - "policy": "add_assumption(sudoku(6,1,2))", + "operation": "add_assumption(sudoku(6,1,2))", } ], "children": [], @@ -66852,7 +66852,7 @@ def post_assumption_9(cls): { "id": "m(1,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,1,any))", + "operation": "remove_assumption_signature(sudoku(1,1,any))", } ], "children": [ @@ -66871,7 +66871,7 @@ def post_assumption_9(cls): { "id": "mi(1,1,5)", "action": "click", - "policy": "add_assumption(sudoku(1,1,5))", + "operation": "add_assumption(sudoku(1,1,5))", } ], "children": [], @@ -66891,7 +66891,7 @@ def post_assumption_9(cls): { "id": "mi(1,1,2)", "action": "click", - "policy": "add_assumption(sudoku(1,1,2))", + "operation": "add_assumption(sudoku(1,1,2))", } ], "children": [], @@ -66911,7 +66911,7 @@ def post_assumption_9(cls): { "id": "mi(1,1,1)", "action": "click", - "policy": "add_assumption(sudoku(1,1,1))", + "operation": "add_assumption(sudoku(1,1,1))", } ], "children": [], @@ -66952,7 +66952,7 @@ def post_assumption_9(cls): { "id": "m(9,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,7,any))", + "operation": "remove_assumption_signature(sudoku(9,7,any))", } ], "children": [ @@ -66971,7 +66971,7 @@ def post_assumption_9(cls): { "id": "mi(9,7,4)", "action": "click", - "policy": "add_assumption(sudoku(9,7,4))", + "operation": "add_assumption(sudoku(9,7,4))", } ], "children": [], @@ -66991,7 +66991,7 @@ def post_assumption_9(cls): { "id": "mi(9,7,2)", "action": "click", - "policy": "add_assumption(sudoku(9,7,2))", + "operation": "add_assumption(sudoku(9,7,2))", } ], "children": [], @@ -67032,7 +67032,7 @@ def post_assumption_9(cls): { "id": "m(3,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(3,7,any))", + "operation": "remove_assumption_signature(sudoku(3,7,any))", } ], "children": [ @@ -67051,7 +67051,7 @@ def post_assumption_9(cls): { "id": "mi(3,7,4)", "action": "click", - "policy": "add_assumption(sudoku(3,7,4))", + "operation": "add_assumption(sudoku(3,7,4))", } ], "children": [], @@ -67071,7 +67071,7 @@ def post_assumption_9(cls): { "id": "mi(3,7,3)", "action": "click", - "policy": "add_assumption(sudoku(3,7,3))", + "operation": "add_assumption(sudoku(3,7,3))", } ], "children": [], @@ -67091,7 +67091,7 @@ def post_assumption_9(cls): { "id": "mi(3,7,1)", "action": "click", - "policy": "add_assumption(sudoku(3,7,1))", + "operation": "add_assumption(sudoku(3,7,1))", } ], "children": [], @@ -67137,7 +67137,7 @@ def post_assumption_9(cls): { "id": "m(1,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,5,any))", + "operation": "remove_assumption_signature(sudoku(1,5,any))", } ], "children": [ @@ -67156,7 +67156,7 @@ def post_assumption_9(cls): { "id": "mi(1,5,4)", "action": "click", - "policy": "add_assumption(sudoku(1,5,4))", + "operation": "add_assumption(sudoku(1,5,4))", } ], "children": [], @@ -67197,7 +67197,7 @@ def post_assumption_9(cls): { "id": "m(5,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,3,any))", + "operation": "remove_assumption_signature(sudoku(5,3,any))", } ], "children": [ @@ -67216,7 +67216,7 @@ def post_assumption_9(cls): { "id": "mi(5,3,4)", "action": "click", - "policy": "add_assumption(sudoku(5,3,4))", + "operation": "add_assumption(sudoku(5,3,4))", } ], "children": [], @@ -67236,7 +67236,7 @@ def post_assumption_9(cls): { "id": "mi(5,3,2)", "action": "click", - "policy": "add_assumption(sudoku(5,3,2))", + "operation": "add_assumption(sudoku(5,3,2))", } ], "children": [], @@ -67277,7 +67277,7 @@ def post_assumption_9(cls): { "id": "m(7,7)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,7,any))", + "operation": "remove_assumption_signature(sudoku(7,7,any))", } ], "children": [ @@ -67296,7 +67296,7 @@ def post_assumption_9(cls): { "id": "mi(7,7,3)", "action": "click", - "policy": "add_assumption(sudoku(7,7,3))", + "operation": "add_assumption(sudoku(7,7,3))", } ], "children": [], @@ -67316,7 +67316,7 @@ def post_assumption_9(cls): { "id": "mi(7,7,1)", "action": "click", - "policy": "add_assumption(sudoku(7,7,1))", + "operation": "add_assumption(sudoku(7,7,1))", } ], "children": [], @@ -67362,7 +67362,7 @@ def post_assumption_9(cls): { "id": "m(1,2)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(1,2,any))", + "operation": "remove_assumption_signature(sudoku(1,2,any))", } ], "children": [ @@ -67381,7 +67381,7 @@ def post_assumption_9(cls): { "id": "mi(1,2,3)", "action": "click", - "policy": "add_assumption(sudoku(1,2,3))", + "operation": "add_assumption(sudoku(1,2,3))", } ], "children": [], @@ -67427,7 +67427,7 @@ def post_assumption_9(cls): { "id": "m(9,1)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,1,any))", + "operation": "remove_assumption_signature(sudoku(9,1,any))", } ], "children": [ @@ -67446,7 +67446,7 @@ def post_assumption_9(cls): { "id": "mi(9,1,3)", "action": "click", - "policy": "add_assumption(sudoku(9,1,3))", + "operation": "add_assumption(sudoku(9,1,3))", } ], "children": [], @@ -67492,7 +67492,7 @@ def post_assumption_9(cls): { "id": "m(7,6)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(7,6,any))", + "operation": "remove_assumption_signature(sudoku(7,6,any))", } ], "children": [ @@ -67511,7 +67511,7 @@ def post_assumption_9(cls): { "id": "mi(7,6,2)", "action": "click", - "policy": "add_assumption(sudoku(7,6,2))", + "operation": "add_assumption(sudoku(7,6,2))", } ], "children": [], @@ -67552,7 +67552,7 @@ def post_assumption_9(cls): { "id": "m(6,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(6,4,any))", + "operation": "remove_assumption_signature(sudoku(6,4,any))", } ], "children": [ @@ -67571,7 +67571,7 @@ def post_assumption_9(cls): { "id": "mi(6,4,2)", "action": "click", - "policy": "add_assumption(sudoku(6,4,2))", + "operation": "add_assumption(sudoku(6,4,2))", } ], "children": [], @@ -67591,7 +67591,7 @@ def post_assumption_9(cls): { "id": "mi(6,4,1)", "action": "click", - "policy": "add_assumption(sudoku(6,4,1))", + "operation": "add_assumption(sudoku(6,4,1))", } ], "children": [], @@ -67632,7 +67632,7 @@ def post_assumption_9(cls): { "id": "m(5,4)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(5,4,any))", + "operation": "remove_assumption_signature(sudoku(5,4,any))", } ], "children": [ @@ -67651,7 +67651,7 @@ def post_assumption_9(cls): { "id": "mi(5,4,2)", "action": "click", - "policy": "add_assumption(sudoku(5,4,2))", + "operation": "add_assumption(sudoku(5,4,2))", } ], "children": [], @@ -67671,7 +67671,7 @@ def post_assumption_9(cls): { "id": "mi(5,4,1)", "action": "click", - "policy": "add_assumption(sudoku(5,4,1))", + "operation": "add_assumption(sudoku(5,4,1))", } ], "children": [], @@ -67717,7 +67717,7 @@ def post_assumption_9(cls): { "id": "m(8,5)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(8,5,any))", + "operation": "remove_assumption_signature(sudoku(8,5,any))", } ], "children": [ @@ -67736,7 +67736,7 @@ def post_assumption_9(cls): { "id": "mi(8,5,1)", "action": "click", - "policy": "add_assumption(sudoku(8,5,1))", + "operation": "add_assumption(sudoku(8,5,1))", } ], "children": [], @@ -67782,7 +67782,7 @@ def post_assumption_9(cls): { "id": "m(9,3)", "action": "clear", - "policy": "remove_assumption_signature(sudoku(9,3,any))", + "operation": "remove_assumption_signature(sudoku(9,3,any))", } ], "children": [ @@ -67801,7 +67801,7 @@ def post_assumption_9(cls): { "id": "mi(9,3,1)", "action": "click", - "policy": "add_assumption(sudoku(9,3,1))", + "operation": "add_assumption(sudoku(9,3,1))", } ], "children": [], @@ -67850,7 +67850,7 @@ def post_assumption_9(cls): { "id": "ms_select", "action": "click", - "policy": "select", + "operation": "select", } ], "children": [], @@ -67875,7 +67875,7 @@ def post_assumption_9(cls): { "id": "ms_next", "action": "click", - "policy": "next_solution", + "operation": "next_solution", } ], "children": [], @@ -67900,7 +67900,7 @@ def post_assumption_9(cls): { "id": "ms_clear", "action": "click", - "policy": "clear_assumptions", + "operation": "clear_assumptions", } ], "children": [], From c11878db78eac411bdc15d7534eba8ae557b3413 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 2 Aug 2024 17:12:46 -0600 Subject: [PATCH 57/61] Fixed example --- examples/angular/catdog/encoding-explain.lp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/angular/catdog/encoding-explain.lp b/examples/angular/catdog/encoding-explain.lp index 07d9f830..d78d02b8 100644 --- a/examples/angular/catdog/encoding-explain.lp +++ b/examples/angular/catdog/encoding-explain.lp @@ -5,8 +5,13 @@ :- person(P,_), not assign(P,_), cons(all_assigned, _). :- assign(P,S), assign(P,S'), S>S', cons(in_only_one, _). :- assign(P,S), assign(P',S), P'>P, cons(only_one, _). +:- assign(P,(T,_)), assign(P',(T,_)), person(P,cat), person(P',dog), + cons(different_type, _). cons(min,"Minimize"). cons(all_assigned,"All people need an assigned seat"). cons(in_only_one,"Each person can only have one seat"). cons(only_one,"Two people can not be seated on the same seat"). +cons(different_type, "All people on a table must prefer the same pet"). + + From c9fe1d3f5c7f7bad9842658f5b01c8d45503839e Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 2 Aug 2024 17:17:23 -0600 Subject: [PATCH 58/61] Replace interaction_type by action --- .../src/app/types/json-response.dto.ts | 2 +- .../src/app/window/window.component.ts | 4 +- .../main.906284c5fafc9464.js | 2 +- .../tkinter_elements/root_cmp.py | 4 +- clinguin/server/application/callback.py | 6 +-- .../application/standard_json_encoder.py | 2 +- clinguin/server/data/callback.py | 2 +- docs/clinguin/reference/communication.rst | 4 +- examples/angular/catdog/ui-menu.lp | 24 ++++++++++ examples/angular/catdog/ui-people.lp | 2 +- examples/angular/catdog/ui-tables.lp | 46 +++++++++++-------- tests/reference_json_output/basic_test_01.py | 12 ++--- tests/reference_json_output/basic_test_03.py | 30 ++++++------ tests/reference_json_output/basic_test_04.py | 4 +- tests/reference_json_output/basic_test_09.py | 20 ++++---- tests/reference_json_output/basic_test_12.py | 4 +- 16 files changed, 100 insertions(+), 68 deletions(-) diff --git a/angular_frontend/src/app/types/json-response.dto.ts b/angular_frontend/src/app/types/json-response.dto.ts index 10a77b4b..17179999 100644 --- a/angular_frontend/src/app/types/json-response.dto.ts +++ b/angular_frontend/src/app/types/json-response.dto.ts @@ -27,5 +27,5 @@ export interface WhenDto { interactionType: string, operation: string, event?: string, - interaction_type?: string + action?: string } diff --git a/angular_frontend/src/app/window/window.component.ts b/angular_frontend/src/app/window/window.component.ts index f5d2604e..550b61c9 100644 --- a/angular_frontend/src/app/window/window.component.ts +++ b/angular_frontend/src/app/window/window.component.ts @@ -132,8 +132,8 @@ export class WindowComponent { if (element.when[i].event !== undefined) { element.when[i].actionType = element.when[i].event! } - if (element.when[i].interaction_type !== undefined) { - element.when[i].interactionType = element.when[i].interaction_type! + if (element.when[i].action !== undefined) { + element.when[i].interactionType = element.when[i].action! } let operation = element.when[i].operation diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js index b4262c38..7d7f04c3 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.906284c5fafc9464.js @@ -1 +1 @@ -(self.webpackChunkClinGraphViz = self.webpackChunkClinGraphViz || []).push([[179], { 362: (_i, qt, Ve) => { "use strict"; function $(e) { return "function" == typeof e } function ct(e) { const i = e(n => { Error.call(n), n.stack = (new Error).stack }); return i.prototype = Object.create(Error.prototype), i.prototype.constructor = i, i } const Je = ct(e => function (i) { e(this), this.message = i ? `${i.length} errors occurred during unsubscription:\n${i.map((n, r) => `${r + 1}) ${n.toString()}`).join("\n ")}` : "", this.name = "UnsubscriptionError", this.errors = i }); function ke(e, t) { if (e) { const i = e.indexOf(t); 0 <= i && e.splice(i, 1) } } class de { constructor(t) { this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null } unsubscribe() { let t; if (!this.closed) { this.closed = !0; const { _parentage: i } = this; if (i) if (this._parentage = null, Array.isArray(i)) for (const s of i) s.remove(this); else i.remove(this); const { initialTeardown: n } = this; if ($(n)) try { n() } catch (s) { t = s instanceof Je ? s.errors : [s] } const { _finalizers: r } = this; if (r) { this._finalizers = null; for (const s of r) try { M(s) } catch (o) { t = t ?? [], o instanceof Je ? t = [...t, ...o.errors] : t.push(o) } } if (t) throw new Je(t) } } add(t) { var i; if (t && t !== this) if (this.closed) M(t); else { if (t instanceof de) { if (t.closed || t._hasParent(this)) return; t._addParent(this) } (this._finalizers = null !== (i = this._finalizers) && void 0 !== i ? i : []).push(t) } } _hasParent(t) { const { _parentage: i } = this; return i === t || Array.isArray(i) && i.includes(t) } _addParent(t) { const { _parentage: i } = this; this._parentage = Array.isArray(i) ? (i.push(t), i) : i ? [i, t] : t } _removeParent(t) { const { _parentage: i } = this; i === t ? this._parentage = null : Array.isArray(i) && ke(i, t) } remove(t) { const { _finalizers: i } = this; i && ke(i, t), t instanceof de && t._removeParent(this) } } de.EMPTY = (() => { const e = new de; return e.closed = !0, e })(); const ye = de.EMPTY; function He(e) { return e instanceof de || e && "closed" in e && $(e.remove) && $(e.add) && $(e.unsubscribe) } function M(e) { $(e) ? e() : e.unsubscribe() } const ut = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: !1, useDeprecatedNextContext: !1 }, Ue = { setTimeout(e, t, ...i) { const { delegate: n } = Ue; return n?.setTimeout ? n.setTimeout(e, t, ...i) : setTimeout(e, t, ...i) }, clearTimeout(e) { const { delegate: t } = Ue; return (t?.clearTimeout || clearTimeout)(e) }, delegate: void 0 }; function dt(e) { Ue.setTimeout(() => { const { onUnhandledError: t } = ut; if (!t) throw e; t(e) }) } function wt() { } const Z = Qe("C", void 0, void 0); function Qe(e, t, i) { return { kind: e, value: t, error: i } } let Ke = null; function xe(e) { if (ut.useDeprecatedSynchronousErrorHandling) { const t = !Ke; if (t && (Ke = { errorThrown: !1, error: null }), e(), t) { const { errorThrown: i, error: n } = Ke; if (Ke = null, i) throw n } } else e() } class en extends de { constructor(t) { super(), this.isStopped = !1, t ? (this.destination = t, He(t) && t.add(this)) : this.destination = rs } static create(t, i, n) { return new mi(t, i, n) } next(t) { this.isStopped ? vr(function be(e) { return Qe("N", e, void 0) }(t), this) : this._next(t) } error(t) { this.isStopped ? vr(function le(e) { return Qe("E", void 0, e) }(t), this) : (this.isStopped = !0, this._error(t)) } complete() { this.isStopped ? vr(Z, this) : (this.isStopped = !0, this._complete()) } unsubscribe() { this.closed || (this.isStopped = !0, super.unsubscribe(), this.destination = null) } _next(t) { this.destination.next(t) } _error(t) { try { this.destination.error(t) } finally { this.unsubscribe() } } _complete() { try { this.destination.complete() } finally { this.unsubscribe() } } } const Ct = Function.prototype.bind; function Et(e, t) { return Ct.call(e, t) } class mr { constructor(t) { this.partialObserver = t } next(t) { const { partialObserver: i } = this; if (i.next) try { i.next(t) } catch (n) { vi(n) } } error(t) { const { partialObserver: i } = this; if (i.error) try { i.error(t) } catch (n) { vi(n) } else vi(t) } complete() { const { partialObserver: t } = this; if (t.complete) try { t.complete() } catch (i) { vi(i) } } } class mi extends en { constructor(t, i, n) { let r; if (super(), $(t) || !t) r = { next: t ?? void 0, error: i ?? void 0, complete: n ?? void 0 }; else { let s; this && ut.useDeprecatedNextContext ? (s = Object.create(t), s.unsubscribe = () => this.unsubscribe(), r = { next: t.next && Et(t.next, s), error: t.error && Et(t.error, s), complete: t.complete && Et(t.complete, s) }) : r = t } this.destination = new mr(r) } } function vi(e) { ut.useDeprecatedSynchronousErrorHandling ? function It(e) { ut.useDeprecatedSynchronousErrorHandling && Ke && (Ke.errorThrown = !0, Ke.error = e) }(e) : dt(e) } function vr(e, t) { const { onStoppedNotification: i } = ut; i && Ue.setTimeout(() => i(e, t)) } const rs = { closed: !0, next: wt, error: function vo(e) { throw e }, complete: wt }, yr = "function" == typeof Symbol && Symbol.observable || "@@observable"; function yi(e) { return e } let ze = (() => { class e { constructor(i) { i && (this._subscribe = i) } lift(i) { const n = new e; return n.source = this, n.operator = i, n } subscribe(i, n, r) { const s = function bo(e) { return e && e instanceof en || function os(e) { return e && $(e.next) && $(e.error) && $(e.complete) }(e) && He(e) }(i) ? i : new mi(i, n, r); return xe(() => { const { operator: o, source: a } = this; s.add(o ? o.call(s, a) : a ? this._subscribe(s) : this._trySubscribe(s)) }), s } _trySubscribe(i) { try { return this._subscribe(i) } catch (n) { i.error(n) } } forEach(i, n) { return new (n = ss(n))((r, s) => { const o = new mi({ next: a => { try { i(a) } catch (l) { s(l), o.unsubscribe() } }, error: s, complete: r }); this.subscribe(o) }) } _subscribe(i) { var n; return null === (n = this.source) || void 0 === n ? void 0 : n.subscribe(i) } [yr]() { return this } pipe(...i) { return function br(e) { return 0 === e.length ? yi : 1 === e.length ? e[0] : function (i) { return e.reduce((n, r) => r(n), i) } }(i)(this) } toPromise(i) { return new (i = ss(i))((n, r) => { let s; this.subscribe(o => s = o, o => r(o), () => n(s)) }) } } return e.create = t => new e(t), e })(); function ss(e) { var t; return null !== (t = e ?? ut.Promise) && void 0 !== t ? t : Promise } const as = ct(e => function () { e(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed" }); let ee = (() => { class e extends ze { constructor() { super(), this.closed = !1, this.currentObservers = null, this.observers = [], this.isStopped = !1, this.hasError = !1, this.thrownError = null } lift(i) { const n = new Rt(this, this); return n.operator = i, n } _throwIfClosed() { if (this.closed) throw new as } next(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (const n of this.currentObservers) n.next(i) } }) } error(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = !0, this.thrownError = i; const { observers: n } = this; for (; n.length;)n.shift().error(i) } }) } complete() { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = !0; const { observers: i } = this; for (; i.length;)i.shift().complete() } }) } unsubscribe() { this.isStopped = this.closed = !0, this.observers = this.currentObservers = null } get observed() { var i; return (null === (i = this.observers) || void 0 === i ? void 0 : i.length) > 0 } _trySubscribe(i) { return this._throwIfClosed(), super._trySubscribe(i) } _subscribe(i) { return this._throwIfClosed(), this._checkFinalizedStatuses(i), this._innerSubscribe(i) } _innerSubscribe(i) { const { hasError: n, isStopped: r, observers: s } = this; return n || r ? ye : (this.currentObservers = null, s.push(i), new de(() => { this.currentObservers = null, ke(s, i) })) } _checkFinalizedStatuses(i) { const { hasError: n, thrownError: r, isStopped: s } = this; n ? i.error(r) : s && i.complete() } asObservable() { const i = new ze; return i.source = this, i } } return e.create = (t, i) => new Rt(t, i), e })(); class Rt extends ee { constructor(t, i) { super(), this.destination = t, this.source = i } next(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.next) || void 0 === n || n.call(i, t) } error(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.error) || void 0 === n || n.call(i, t) } complete() { var t, i; null === (i = null === (t = this.destination) || void 0 === t ? void 0 : t.complete) || void 0 === i || i.call(t) } _subscribe(t) { var i, n; return null !== (n = null === (i = this.source) || void 0 === i ? void 0 : i.subscribe(t)) && void 0 !== n ? n : ye } } function mt(e) { return t => { if (function ls(e) { return $(e?.lift) }(t)) return t.lift(function (i) { try { return e(i, this) } catch (n) { this.error(n) } }); throw new TypeError("Unable to lift unknown Observable type") } } function ft(e, t, i, n, r) { return new cs(e, t, i, n, r) } class cs extends en { constructor(t, i, n, r, s, o) { super(t), this.onFinalize = s, this.shouldUnsubscribe = o, this._next = i ? function (a) { try { i(a) } catch (l) { t.error(l) } } : super._next, this._error = r ? function (a) { try { r(a) } catch (l) { t.error(l) } finally { this.unsubscribe() } } : super._error, this._complete = n ? function () { try { n() } catch (a) { t.error(a) } finally { this.unsubscribe() } } : super._complete } unsubscribe() { var t; if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { const { closed: i } = this; super.unsubscribe(), !i && (null === (t = this.onFinalize) || void 0 === t || t.call(this)) } } } function Pt(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => { n.next(e.call(t, s, r++)) })) }) } function Xe(e) { return this instanceof Xe ? (this.v = e, this) : new Xe(e) } function Ki(e) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var i, t = e[Symbol.asyncIterator]; return t ? t.call(e) : (e = function q(e) { var t = "function" == typeof Symbol && Symbol.iterator, i = t && e[t], n = 0; if (i) return i.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }(e), i = {}, n("next"), n("throw"), n("return"), i[Symbol.asyncIterator] = function () { return this }, i); function n(s) { i[s] = e[s] && function (o) { return new Promise(function (a, l) { !function r(s, o, a, l) { Promise.resolve(l).then(function (c) { s({ value: c, done: a }) }, o) }(a, l, (o = e[s](o)).done, o.value) }) } } } "function" == typeof SuppressedError && SuppressedError; const Pu = e => e && "number" == typeof e.length && "function" != typeof e; function ug(e) { return $(e?.then) } function dg(e) { return $(e[yr]) } function fg(e) { return Symbol.asyncIterator && $(e?.[Symbol.asyncIterator]) } function hg(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 pg = function TE() { return "function" == typeof Symbol && Symbol.iterator ? Symbol.iterator : "@@iterator" }(); function gg(e) { return $(e?.[pg]) } function _g(e) { return function bi(e, t, i) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var r, n = i.apply(e, t || []), s = []; return r = {}, o("next"), o("throw"), o("return"), r[Symbol.asyncIterator] = function () { return this }, r; function o(g) { n[g] && (r[g] = function (_) { return new Promise(function (y, b) { s.push([g, _, y, b]) > 1 || a(g, _) }) }) } function a(g, _) { try { !function l(g) { g.value instanceof Xe ? Promise.resolve(g.value.v).then(c, u) : h(s[0][2], g) }(n[g](_)) } catch (y) { h(s[0][3], y) } } function c(g) { a("next", g) } function u(g) { a("throw", g) } function h(g, _) { g(_), s.shift(), s.length && a(s[0][0], s[0][1]) } }(this, arguments, function* () { const i = e.getReader(); try { for (; ;) { const { value: n, done: r } = yield Xe(i.read()); if (r) return yield Xe(void 0); yield yield Xe(n) } } finally { i.releaseLock() } }) } function mg(e) { return $(e?.getReader) } function Ft(e) { if (e instanceof ze) return e; if (null != e) { if (dg(e)) return function ME(e) { return new ze(t => { const i = e[yr](); if ($(i.subscribe)) return i.subscribe(t); throw new TypeError("Provided object does not correctly implement Symbol.observable") }) }(e); if (Pu(e)) return function IE(e) { return new ze(t => { for (let i = 0; i < e.length && !t.closed; i++)t.next(e[i]); t.complete() }) }(e); if (ug(e)) return function NE(e) { return new ze(t => { e.then(i => { t.closed || (t.next(i), t.complete()) }, i => t.error(i)).then(null, dt) }) }(e); if (fg(e)) return vg(e); if (gg(e)) return function AE(e) { return new ze(t => { for (const i of e) if (t.next(i), t.closed) return; t.complete() }) }(e); if (mg(e)) return function OE(e) { return vg(_g(e)) }(e) } throw hg(e) } function vg(e) { return new ze(t => { (function xE(e, t) { var i, n, r, s; return function m(e, t, i, n) { return new (i || (i = Promise))(function (s, o) { function a(u) { try { c(n.next(u)) } catch (h) { o(h) } } function l(u) { try { c(n.throw(u)) } catch (h) { o(h) } } function c(u) { u.done ? s(u.value) : function r(s) { return s instanceof i ? s : new i(function (o) { o(s) }) }(u.value).then(a, l) } c((n = n.apply(e, t || [])).next()) }) }(this, void 0, void 0, function* () { try { for (i = Ki(e); !(n = yield i.next()).done;)if (t.next(n.value), t.closed) return } catch (o) { r = { error: o } } finally { try { n && !n.done && (s = i.return) && (yield s.call(i)) } finally { if (r) throw r.error } } t.complete() }) })(e, t).catch(i => t.error(i)) }) } function Xi(e, t, i, n = 0, r = !1) { const s = t.schedule(function () { i(), r ? e.add(this.schedule(null, n)) : this.unsubscribe() }, n); if (e.add(s), !r) return s } function us(e, t, i = 1 / 0) { return $(t) ? us((n, r) => Pt((s, o) => t(n, s, r, o))(Ft(e(n, r))), i) : ("number" == typeof t && (i = t), mt((n, r) => function RE(e, t, i, n, r, s, o, a) { const l = []; let c = 0, u = 0, h = !1; const g = () => { h && !l.length && !c && t.complete() }, _ = b => c < n ? y(b) : l.push(b), y = b => { s && t.next(b), c++; let D = !1; Ft(i(b, u++)).subscribe(ft(t, T => { r?.(T), s ? _(T) : t.next(T) }, () => { D = !0 }, void 0, () => { if (D) try { for (c--; l.length && c < n;) { const T = l.shift(); o ? Xi(t, o, () => y(T)) : y(T) } g() } catch (T) { t.error(T) } })) }; return e.subscribe(ft(t, _, () => { h = !0, g() })), () => { a?.() } }(n, r, e, i))) } function yg(e = 1 / 0) { return us(yi, e) } const Do = new ze(e => e.complete()); function bg(e) { return e && $(e.schedule) } function Fu(e) { return e[e.length - 1] } function ku(e) { return $(Fu(e)) ? e.pop() : void 0 } function Qa(e) { return bg(Fu(e)) ? e.pop() : void 0 } function Dg(e, t = 0) { return mt((i, n) => { i.subscribe(ft(n, r => Xi(n, e, () => n.next(r), t), () => Xi(n, e, () => n.complete(), t), r => Xi(n, e, () => n.error(r), t))) }) } function wg(e, t = 0) { return mt((i, n) => { n.add(e.schedule(() => i.subscribe(n), t)) }) } function Cg(e, t) { if (!e) throw new Error("Iterable cannot be null"); return new ze(i => { Xi(i, t, () => { const n = e[Symbol.asyncIterator](); Xi(i, t, () => { n.next().then(r => { r.done ? i.complete() : i.next(r.value) }) }, 0, !0) }) }) } function wo(e, t) { return t ? function UE(e, t) { if (null != e) { if (dg(e)) return function kE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (Pu(e)) return function BE(e, t) { return new ze(i => { let n = 0; return t.schedule(function () { n === e.length ? i.complete() : (i.next(e[n++]), i.closed || this.schedule()) }) }) }(e, t); if (ug(e)) return function LE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (fg(e)) return Cg(e, t); if (gg(e)) return function VE(e, t) { return new ze(i => { let n; return Xi(i, t, () => { n = e[pg](), Xi(i, t, () => { let r, s; try { ({ value: r, done: s } = n.next()) } catch (o) { return void i.error(o) } s ? i.complete() : i.next(r) }, 0, !0) }), () => $(n?.return) && n.return() }) }(e, t); if (mg(e)) return function HE(e, t) { return Cg(_g(e), t) }(e, t) } throw hg(e) }(e, t) : Ft(e) } class jE extends ee { constructor(t) { super(), this._value = t } get value() { return this.getValue() } _subscribe(t) { const i = super._subscribe(t); return !i.closed && t.next(this._value), i } getValue() { const { hasError: t, thrownError: i, _value: n } = this; if (t) throw i; return this._throwIfClosed(), n } next(t) { super.next(this._value = t) } } function ds(...e) { return wo(e, Qa(e)) } function Sg(e = {}) { const { connector: t = (() => new ee), resetOnError: i = !0, resetOnComplete: n = !0, resetOnRefCountZero: r = !0 } = e; return s => { let o, a, l, c = 0, u = !1, h = !1; const g = () => { a?.unsubscribe(), a = void 0 }, _ = () => { g(), o = l = void 0, u = h = !1 }, y = () => { const b = o; _(), b?.unsubscribe() }; return mt((b, D) => { c++, !h && !u && g(); const T = l = l ?? t(); D.add(() => { c--, 0 === c && !h && !u && (a = Lu(y, r)) }), T.subscribe(D), !o && c > 0 && (o = new mi({ next: C => T.next(C), error: C => { h = !0, g(), a = Lu(_, i, C), T.error(C) }, complete: () => { u = !0, g(), a = Lu(_, n), T.complete() } }), Ft(b).subscribe(o)) })(s) } } function Lu(e, t, ...i) { if (!0 === t) return void e(); if (!1 === t) return; const n = new mi({ next: () => { n.unsubscribe(), e() } }); return Ft(t(...i)).subscribe(n) } function Bu(e, t) { return mt((i, n) => { let r = null, s = 0, o = !1; const a = () => o && !r && n.complete(); i.subscribe(ft(n, l => { r?.unsubscribe(); let c = 0; const u = s++; Ft(e(l, u)).subscribe(r = ft(n, h => n.next(t ? t(l, h, u, c++) : h), () => { r = null, a() })) }, () => { o = !0, a() })) }) } function $E(e, t) { return e === t } function Re(e) { for (let t in e) if (e[t] === Re) return t; throw Error("Could not find renamed property on target object.") } function Ka(e, t) { for (const i in t) t.hasOwnProperty(i) && !e.hasOwnProperty(i) && (e[i] = t[i]) } function Nt(e) { if ("string" == typeof e) return e; if (Array.isArray(e)) return "[" + e.map(Nt).join(", ") + "]"; if (null == e) return "" + e; if (e.overriddenName) return `${e.overriddenName}`; if (e.name) return `${e.name}`; const t = e.toString(); if (null == t) return "" + t; const i = t.indexOf("\n"); return -1 === i ? t : t.substring(0, i) } function Vu(e, t) { return null == e || "" === e ? null === t ? "" : t : null == t || "" === t ? e : e + " " + t } const GE = Re({ __forward_ref__: Re }); function ae(e) { return e.__forward_ref__ = ae, e.toString = function () { return Nt(this()) }, e } function X(e) { return Hu(e) ? e() : e } function Hu(e) { return "function" == typeof e && e.hasOwnProperty(GE) && e.__forward_ref__ === ae } function Uu(e) { return e && !!e.\u0275providers } const Mg = "https://g.co/ng/security#xss"; class F extends Error { constructor(t, i) { super(function Xa(e, t) { return `NG0${Math.abs(e)}${t ? ": " + t : ""}` }(t, i)), this.code = t } } function te(e) { return "string" == typeof e ? e : null == e ? "" : String(e) } function ju(e, t) { throw new F(-201, !1) } function $n(e, t) { null == e && function Q(e, t, i, n) { throw new Error(`ASSERTION ERROR: ${e}` + (null == n ? "" : ` [Expected=> ${i} ${n} ${t} <=Actual]`)) }(t, e, null, "!=") } function G(e) { return { token: e.token, providedIn: e.providedIn || null, factory: e.factory, value: void 0 } } function Ae(e) { return { providers: e.providers || [], imports: e.imports || [] } } function el(e) { return Ig(e, nl) || Ig(e, Ng) } function Ig(e, t) { return e.hasOwnProperty(t) ? e[t] : null } function tl(e) { return e && (e.hasOwnProperty($u) || e.hasOwnProperty(QE)) ? e[$u] : null } const nl = Re({ \u0275prov: Re }), $u = Re({ \u0275inj: Re }), Ng = Re({ ngInjectableDef: Re }), QE = Re({ ngInjectorDef: Re }); var ge = function (e) { return e[e.Default = 0] = "Default", e[e.Host = 1] = "Host", e[e.Self = 2] = "Self", e[e.SkipSelf = 4] = "SkipSelf", e[e.Optional = 8] = "Optional", e }(ge || {}); let Gu; function _n(e) { const t = Gu; return Gu = e, t } function Og(e, t, i) { const n = el(e); return n && "root" == n.providedIn ? void 0 === n.value ? n.value = n.factory() : n.value : i & ge.Optional ? null : void 0 !== t ? t : void ju(Nt(e)) } const je = globalThis, Co = {}, Zu = "__NG_DI_FLAG__", il = "ngTempTokenPath", eS = /\n/gm, Rg = "__source"; let fs; function er(e) { const t = fs; return fs = e, t } function iS(e, t = ge.Default) { if (void 0 === fs) throw new F(-203, !1); return null === fs ? Og(e, void 0, t) : fs.get(e, t & ge.Optional ? null : void 0, t) } function L(e, t = ge.Default) { return (function Ag() { return Gu }() || iS)(X(e), t) } function fe(e, t = ge.Default) { return L(e, rl(t)) } function rl(e) { return typeof e > "u" || "number" == typeof e ? e : 0 | (e.optional && 8) | (e.host && 1) | (e.self && 2) | (e.skipSelf && 4) } function Ju(e) { const t = []; for (let i = 0; i < e.length; i++) { const n = X(e[i]); if (Array.isArray(n)) { if (0 === n.length) throw new F(900, !1); let r, s = ge.Default; for (let o = 0; o < n.length; o++) { const a = n[o], l = rS(a); "number" == typeof l ? -1 === l ? r = a.token : s |= l : r = a } t.push(L(r, s)) } else t.push(L(n)) } return t } function Eo(e, t) { return e[Zu] = t, e.prototype[Zu] = t, e } function rS(e) { return e[Zu] } function Bi(e) { return { toString: e }.toString() } var sl = function (e) { return e[e.OnPush = 0] = "OnPush", e[e.Default = 1] = "Default", e }(sl || {}), ei = function (e) { return e[e.Emulated = 0] = "Emulated", e[e.None = 2] = "None", e[e.ShadowDom = 3] = "ShadowDom", e }(ei || {}); const Di = {}, Ee = [], ol = Re({ \u0275cmp: Re }), Qu = Re({ \u0275dir: Re }), Ku = Re({ \u0275pipe: Re }), Fg = Re({ \u0275mod: Re }), Vi = Re({ \u0275fac: Re }), So = Re({ __NG_ELEMENT_ID__: Re }), kg = Re({ __NG_ENV_ID__: Re }); function Lg(e, t, i) { let n = e.length; for (; ;) { const r = e.indexOf(t, i); if (-1 === r) return r; if (0 === r || e.charCodeAt(r - 1) <= 32) { const s = t.length; if (r + s === n || e.charCodeAt(r + s) <= 32) return r } i = r + 1 } } function Xu(e, t, i) { let n = 0; for (; n < i.length;) { const r = i[n]; if ("number" == typeof r) { if (0 !== r) break; n++; const s = i[n++], o = i[n++], a = i[n++]; e.setAttribute(t, o, a, s) } else { const s = r, o = i[++n]; Vg(s) ? e.setProperty(t, s, o) : e.setAttribute(t, s, o), n++ } } return n } function Bg(e) { return 3 === e || 4 === e || 6 === e } function Vg(e) { return 64 === e.charCodeAt(0) } function To(e, t) { if (null !== t && 0 !== t.length) if (null === e || 0 === e.length) e = t.slice(); else { let i = -1; for (let n = 0; n < t.length; n++) { const r = t[n]; "number" == typeof r ? i = r : 0 === i || Hg(e, i, r, null, -1 === i || 2 === i ? t[++n] : null) } } return e } function Hg(e, t, i, n, r) { let s = 0, o = e.length; if (-1 === t) o = -1; else for (; s < e.length;) { const a = e[s++]; if ("number" == typeof a) { if (a === t) { o = -1; break } if (a > t) { o = s - 1; break } } } for (; s < e.length;) { const a = e[s]; if ("number" == typeof a) break; if (a === i) { if (null === n) return void (null !== r && (e[s + 1] = r)); if (n === e[s + 1]) return void (e[s + 2] = r) } s++, null !== n && s++, null !== r && s++ } -1 !== o && (e.splice(o, 0, t), s = o + 1), e.splice(s++, 0, i), null !== n && e.splice(s++, 0, n), null !== r && e.splice(s++, 0, r) } const Ug = "ng-template"; function aS(e, t, i) { let n = 0, r = !0; for (; n < e.length;) { let s = e[n++]; if ("string" == typeof s && r) { const o = e[n++]; if (i && "class" === s && -1 !== Lg(o.toLowerCase(), t, 0)) return !0 } else { if (1 === s) { for (; n < e.length && "string" == typeof (s = e[n++]);)if (s.toLowerCase() === t) return !0; return !1 } "number" == typeof s && (r = !1) } } return !1 } function jg(e) { return 4 === e.type && e.value !== Ug } function lS(e, t, i) { return t === (4 !== e.type || i ? e.value : Ug) } function cS(e, t, i) { let n = 4; const r = e.attrs || [], s = function fS(e) { for (let t = 0; t < e.length; t++)if (Bg(e[t])) return t; return e.length }(r); let o = !1; for (let a = 0; a < t.length; a++) { const l = t[a]; if ("number" != typeof l) { if (!o) if (4 & n) { if (n = 2 | 1 & n, "" !== l && !lS(e, l, i) || "" === l && 1 === t.length) { if (ti(n)) return !1; o = !0 } } else { const c = 8 & n ? l : t[++a]; if (8 & n && null !== e.attrs) { if (!aS(e.attrs, c, i)) { if (ti(n)) return !1; o = !0 } continue } const h = uS(8 & n ? "class" : l, r, jg(e), i); if (-1 === h) { if (ti(n)) return !1; o = !0; continue } if ("" !== c) { let g; g = h > s ? "" : r[h + 1].toLowerCase(); const _ = 8 & n ? g : null; if (_ && -1 !== Lg(_, c, 0) || 2 & n && c !== g) { if (ti(n)) return !1; o = !0 } } } } else { if (!o && !ti(n) && !ti(l)) return !1; if (o && ti(l)) continue; o = !1, n = l | 1 & n } } return ti(n) || o } function ti(e) { return 0 == (1 & e) } function uS(e, t, i, n) { if (null === t) return -1; let r = 0; if (n || !i) { let s = !1; for (; r < t.length;) { const o = t[r]; if (o === e) return r; if (3 === o || 6 === o) s = !0; else { if (1 === o || 2 === o) { let a = t[++r]; for (; "string" == typeof a;)a = t[++r]; continue } if (4 === o) break; if (0 === o) { r += 4; continue } } r += s ? 1 : 2 } return -1 } return function hS(e, t) { let i = e.indexOf(4); if (i > -1) for (i++; i < e.length;) { const n = e[i]; if ("number" == typeof n) return -1; if (n === t) return i; i++ } return -1 }(t, e) } function $g(e, t, i = !1) { for (let n = 0; n < t.length; n++)if (cS(e, t[n], i)) return !0; return !1 } function pS(e, t) { e: for (let i = 0; i < t.length; i++) { const n = t[i]; if (e.length === n.length) { for (let r = 0; r < e.length; r++)if (e[r] !== n[r]) continue e; return !0 } } return !1 } function Gg(e, t) { return e ? ":not(" + t.trim() + ")" : t } function gS(e) { let t = e[0], i = 1, n = 2, r = "", s = !1; for (; i < e.length;) { let o = e[i]; if ("string" == typeof o) if (2 & n) { const a = e[++i]; r += "[" + o + (a.length > 0 ? '="' + a + '"' : "") + "]" } else 8 & n ? r += "." + o : 4 & n && (r += " " + o); else "" !== r && !ti(o) && (t += Gg(s, r), r = ""), n = o, s = s || !ti(n); i++ } return "" !== r && (t += Gg(s, r)), t } function et(e) { return Bi(() => { const t = qg(e), i = { ...t, decls: e.decls, vars: e.vars, template: e.template, consts: e.consts || null, ngContentSelectors: e.ngContentSelectors, onPush: e.changeDetection === sl.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e.dependencies || null, getStandaloneInjector: null, signals: e.signals ?? !1, data: e.data || {}, encapsulation: e.encapsulation || ei.Emulated, styles: e.styles || Ee, _: null, schemas: e.schemas || null, tView: null, id: "" }; Yg(i); const n = e.dependencies; return i.directiveDefs = al(n, !1), i.pipeDefs = al(n, !0), i.id = function wS(e) { let t = 0; const i = [e.selectors, e.ngContentSelectors, e.hostVars, e.hostAttrs, e.consts, e.vars, e.decls, e.encapsulation, e.standalone, e.signals, e.exportAs, JSON.stringify(e.inputs), JSON.stringify(e.outputs), Object.getOwnPropertyNames(e.type.prototype), !!e.contentQueries, !!e.viewQuery].join("|"); for (const r of i) t = Math.imul(31, t) + r.charCodeAt(0) << 0; return t += 2147483648, "c" + t }(i), i }) } function vS(e) { return me(e) || Vt(e) } function yS(e) { return null !== e } function Pe(e) { return Bi(() => ({ type: e.type, bootstrap: e.bootstrap || Ee, declarations: e.declarations || Ee, imports: e.imports || Ee, exports: e.exports || Ee, transitiveCompileScopes: null, schemas: e.schemas || null, id: e.id || null })) } function Wg(e, t) { if (null == e) return Di; const i = {}; for (const n in e) if (e.hasOwnProperty(n)) { let r = e[n], s = r; Array.isArray(r) && (s = r[1], r = r[0]), i[r] = n, t && (t[r] = s) } return i } function k(e) { return Bi(() => { const t = qg(e); return Yg(t), t }) } function me(e) { return e[ol] || null } function Vt(e) { return e[Qu] || null } function nn(e) { return e[Ku] || null } function qg(e) { const t = {}; 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: t, inputTransforms: null, inputConfig: e.inputs || Di, exportAs: e.exportAs || null, standalone: !0 === e.standalone, signals: !0 === e.signals, selectors: e.selectors || Ee, viewQuery: e.viewQuery || null, features: e.features || null, setInput: null, findHostDirectiveDefs: null, hostDirectives: null, inputs: Wg(e.inputs, t), outputs: Wg(e.outputs) } } function Yg(e) { e.features?.forEach(t => t(e)) } function al(e, t) { if (!e) return null; const i = t ? nn : vS; return () => ("function" == typeof e ? e() : e).map(n => i(n)).filter(yS) } const ht = 0, H = 1, ie = 2, tt = 3, ni = 4, Io = 5, Yt = 6, hs = 7, vt = 8, tr = 9, ps = 10, ne = 11, No = 12, Zg = 13, gs = 14, yt = 15, Ao = 16, _s = 17, wi = 18, Oo = 19, Jg = 20, nr = 21, Hi = 22, ll = 23, cl = 24, pe = 25, ed = 1, Qg = 2, Ci = 7, ms = 9, Ht = 11; function vn(e) { return Array.isArray(e) && "object" == typeof e[ed] } function rn(e) { return Array.isArray(e) && !0 === e[ed] } function td(e) { return 0 != (4 & e.flags) } function Cr(e) { return e.componentOffset > -1 } function dl(e) { return 1 == (1 & e.flags) } function ii(e) { return !!e.template } function nd(e) { return 0 != (512 & e[ie]) } function Er(e, t) { return e.hasOwnProperty(Vi) ? e[Vi] : null } let IS = je.WeakRef ?? class MS { constructor(t) { this.ref = t } deref() { return this.ref } }, AS = 0, Ei = null, fl = !1; function kt(e) { const t = Ei; return Ei = e, t } class n_ { constructor() { this.id = AS++, this.ref = function NS(e) { return new IS(e) }(this), this.producers = new Map, this.consumers = new Map, this.trackingVersion = 0, this.valueVersion = 0 } consumerPollProducersForChange() { for (const [t, i] of this.producers) { const n = i.producerNode.deref(); if (null != n && i.atTrackingVersion === this.trackingVersion) { if (n.producerPollStatus(i.seenValueVersion)) return !0 } else this.producers.delete(t), n?.consumers.delete(this.id) } return !1 } producerMayHaveChanged() { const t = fl; fl = !0; try { for (const [i, n] of this.consumers) { const r = n.consumerNode.deref(); null != r && r.trackingVersion === n.atTrackingVersion ? r.onConsumerDependencyMayHaveChanged() : (this.consumers.delete(i), r?.producers.delete(this.id)) } } finally { fl = t } } producerAccessed() { if (fl) throw new Error(""); if (null === Ei) return; let t = Ei.producers.get(this.id); void 0 === t ? (t = { consumerNode: Ei.ref, producerNode: this.ref, seenValueVersion: this.valueVersion, atTrackingVersion: Ei.trackingVersion }, Ei.producers.set(this.id, t), this.consumers.set(Ei.id, t)) : (t.seenValueVersion = this.valueVersion, t.atTrackingVersion = Ei.trackingVersion) } get hasProducers() { return this.producers.size > 0 } get producerUpdatesAllowed() { return !1 !== Ei?.consumerAllowSignalWrites } producerPollStatus(t) { return this.valueVersion !== t || (this.onProducerUpdateValueVersion(), this.valueVersion !== t) } } let i_ = null; const s_ = () => { }; class PS extends n_ { constructor(t, i, n) { super(), this.watch = t, this.schedule = i, this.dirty = !1, this.cleanupFn = s_, this.registerOnCleanup = r => { this.cleanupFn = r }, this.consumerAllowSignalWrites = n } notify() { this.dirty || this.schedule(this), this.dirty = !0 } onConsumerDependencyMayHaveChanged() { this.notify() } onProducerUpdateValueVersion() { } run() { if (this.dirty = !1, 0 !== this.trackingVersion && !this.consumerPollProducersForChange()) return; const t = kt(this); this.trackingVersion++; try { this.cleanupFn(), this.cleanupFn = s_, this.watch(this.registerOnCleanup) } finally { kt(t) } } cleanup() { this.cleanupFn() } } class FS { constructor(t, i, n) { this.previousValue = t, this.currentValue = i, this.firstChange = n } isFirstChange() { return this.firstChange } } function sn() { return o_ } function o_(e) { return e.type.prototype.ngOnChanges && (e.setInput = LS), kS } function kS() { const e = l_(this), t = e?.current; if (t) { const i = e.previous; if (i === Di) e.previous = t; else for (let n in t) i[n] = t[n]; e.current = null, this.ngOnChanges(t) } } function LS(e, t, i, n) { const r = this.declaredInputs[i], s = l_(e) || function BS(e, t) { return e[a_] = t }(e, { previous: Di, current: null }), o = s.current || (s.current = {}), a = s.previous, l = a[r]; o[r] = new FS(l && l.currentValue, t, a === Di), e[n] = t } sn.ngInherit = !0; const a_ = "__ngSimpleChanges__"; function l_(e) { return e[a_] || null } const Si = function (e, t, i) { }; function We(e) { for (; Array.isArray(e);)e = e[ht]; return e } function gl(e, t) { return We(t[e]) } function yn(e, t) { return We(t[e.index]) } function d_(e, t) { return e.data[t] } function On(e, t) { const i = t[e]; return vn(i) ? i : i[ht] } function ir(e, t) { return null == t ? null : e[t] } function f_(e) { e[_s] = 0 } function GS(e) { 1024 & e[ie] || (e[ie] |= 1024, p_(e, 1)) } function h_(e) { 1024 & e[ie] && (e[ie] &= -1025, p_(e, -1)) } function p_(e, t) { let i = e[tt]; if (null === i) return; i[Io] += t; let n = i; for (i = i[tt]; null !== i && (1 === t && 1 === n[Io] || -1 === t && 0 === n[Io]);)i[Io] += t, n = i, i = i[tt] } const K = { lFrame: S_(null), bindingsEnabled: !0, skipHydrationRootTNode: null }; function m_() { return K.bindingsEnabled } function ys() { return null !== K.skipHydrationRootTNode } function A() { return K.lFrame.lView } function ve() { return K.lFrame.tView } function on(e) { return K.lFrame.contextLView = e, e[vt] } function an(e) { return K.lFrame.contextLView = null, e } function Ut() { let e = v_(); for (; null !== e && 64 === e.type;)e = e.parent; return e } function v_() { return K.lFrame.currentTNode } function Ti(e, t) { const i = K.lFrame; i.currentTNode = e, i.isParent = t } function cd() { return K.lFrame.isParent } function ud() { K.lFrame.isParent = !1 } function bs() { return K.lFrame.bindingIndex++ } function ji(e) { const t = K.lFrame, i = t.bindingIndex; return t.bindingIndex = t.bindingIndex + e, i } function nT(e, t) { const i = K.lFrame; i.bindingIndex = i.bindingRootIndex = e, dd(t) } function dd(e) { K.lFrame.currentDirectiveIndex = e } function w_() { return K.lFrame.currentQueryIndex } function hd(e) { K.lFrame.currentQueryIndex = e } function rT(e) { const t = e[H]; return 2 === t.type ? t.declTNode : 1 === t.type ? e[Yt] : null } function C_(e, t, i) { if (i & ge.SkipSelf) { let r = t, s = e; for (; !(r = r.parent, null !== r || i & ge.Host || (r = rT(s), null === r || (s = s[gs], 10 & r.type)));); if (null === r) return !1; t = r, e = s } const n = K.lFrame = E_(); return n.currentTNode = t, n.lView = e, !0 } function pd(e) { const t = E_(), i = e[H]; K.lFrame = t, t.currentTNode = i.firstChild, t.lView = e, t.tView = i, t.contextLView = e, t.bindingIndex = i.bindingStartIndex, t.inI18n = !1 } function E_() { const e = K.lFrame, t = null === e ? null : e.child; return null === t ? S_(e) : t } function S_(e) { const t = { 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 = t), t } function T_() { const e = K.lFrame; return K.lFrame = e.parent, e.currentTNode = null, e.lView = null, e } const M_ = T_; function gd() { const e = T_(); 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 cn() { return K.lFrame.selectedIndex } function Sr(e) { K.lFrame.selectedIndex = e } function ot() { const e = K.lFrame; return d_(e.tView, e.selectedIndex) } let N_ = !0; function _l() { return N_ } function rr(e) { N_ = e } function ml(e, t) { for (let i = t.directiveStart, n = t.directiveEnd; i < n; i++) { const s = e.data[i].type.prototype, { ngAfterContentInit: o, ngAfterContentChecked: a, ngAfterViewInit: l, ngAfterViewChecked: c, ngOnDestroy: u } = s; o && (e.contentHooks ??= []).push(-i, o), a && ((e.contentHooks ??= []).push(i, a), (e.contentCheckHooks ??= []).push(i, a)), l && (e.viewHooks ??= []).push(-i, l), c && ((e.viewHooks ??= []).push(i, c), (e.viewCheckHooks ??= []).push(i, c)), null != u && (e.destroyHooks ??= []).push(i, u) } } function vl(e, t, i) { A_(e, t, 3, i) } function yl(e, t, i, n) { (3 & e[ie]) === i && A_(e, t, i, n) } function _d(e, t) { let i = e[ie]; (3 & i) === t && (i &= 8191, i += 1, e[ie] = i) } function A_(e, t, i, n) { const s = n ?? -1, o = t.length - 1; let a = 0; for (let l = void 0 !== n ? 65535 & e[_s] : 0; l < o; l++)if ("number" == typeof t[l + 1]) { if (a = t[l], null != n && a >= n) break } else t[l] < 0 && (e[_s] += 65536), (a < s || -1 == s) && (fT(e, i, t, l), e[_s] = (4294901760 & e[_s]) + l + 2), l++ } function O_(e, t) { Si(4, e, t); const i = kt(null); try { t.call(e) } finally { kt(i), Si(5, e, t) } } function fT(e, t, i, n) { const r = i[n] < 0, s = i[n + 1], a = e[r ? -i[n] : i[n]]; r ? e[ie] >> 13 < e[_s] >> 16 && (3 & e[ie]) === t && (e[ie] += 8192, O_(a, s)) : O_(a, s) } const Ds = -1; class Po { constructor(t, i, n) { this.factory = t, this.resolving = !1, this.canSeeViewProviders = i, this.injectImpl = n } } function vd(e) { return e !== Ds } function Fo(e) { return 32767 & e } function ko(e, t) { let i = function _T(e) { return e >> 16 }(e), n = t; for (; i > 0;)n = n[gs], i--; return n } let yd = !0; function bl(e) { const t = yd; return yd = e, t } const x_ = 255, R_ = 5; let mT = 0; const Mi = {}; function Dl(e, t) { const i = P_(e, t); if (-1 !== i) return i; const n = t[H]; n.firstCreatePass && (e.injectorIndex = t.length, bd(n.data, e), bd(t, null), bd(n.blueprint, null)); const r = wl(e, t), s = e.injectorIndex; if (vd(r)) { const o = Fo(r), a = ko(r, t), l = a[H].data; for (let c = 0; c < 8; c++)t[s + c] = a[o + c] | l[o + c] } return t[s + 8] = r, s } function bd(e, t) { e.push(0, 0, 0, 0, 0, 0, 0, 0, t) } function P_(e, t) { return -1 === e.injectorIndex || e.parent && e.parent.injectorIndex === e.injectorIndex || null === t[e.injectorIndex + 8] ? -1 : e.injectorIndex } function wl(e, t) { if (e.parent && -1 !== e.parent.injectorIndex) return e.parent.injectorIndex; let i = 0, n = null, r = t; for (; null !== r;) { if (n = U_(r), null === n) return Ds; if (i++, r = r[gs], -1 !== n.injectorIndex) return n.injectorIndex | i << 16 } return Ds } function Dd(e, t, i) { !function vT(e, t, i) { let n; "string" == typeof i ? n = i.charCodeAt(0) || 0 : i.hasOwnProperty(So) && (n = i[So]), null == n && (n = i[So] = mT++); const r = n & x_; t.data[e + (r >> R_)] |= 1 << r }(e, t, i) } function F_(e, t, i) { if (i & ge.Optional || void 0 !== e) return e; ju() } function k_(e, t, i, n) { if (i & ge.Optional && void 0 === n && (n = null), !(i & (ge.Self | ge.Host))) { const r = e[tr], s = _n(void 0); try { return r ? r.get(t, n, i & ge.Optional) : Og(t, n, i & ge.Optional) } finally { _n(s) } } return F_(n, 0, i) } function L_(e, t, i, n = ge.Default, r) { if (null !== e) { if (2048 & t[ie] && !(n & ge.Self)) { const o = function ET(e, t, i, n, r) { let s = e, o = t; for (; null !== s && null !== o && 2048 & o[ie] && !(512 & o[ie]);) { const a = B_(s, o, i, n | ge.Self, Mi); if (a !== Mi) return a; let l = s.parent; if (!l) { const c = o[Jg]; if (c) { const u = c.get(i, Mi, n); if (u !== Mi) return u } l = U_(o), o = o[gs] } s = l } return r }(e, t, i, n, Mi); if (o !== Mi) return o } const s = B_(e, t, i, n, Mi); if (s !== Mi) return s } return k_(t, i, n, r) } function B_(e, t, i, n, r) { const s = function DT(e) { if ("string" == typeof e) return e.charCodeAt(0) || 0; const t = e.hasOwnProperty(So) ? e[So] : void 0; return "number" == typeof t ? t >= 0 ? t & x_ : CT : t }(i); if ("function" == typeof s) { if (!C_(t, e, n)) return n & ge.Host ? F_(r, 0, n) : k_(t, i, n, r); try { let o; if (o = s(n), null != o || n & ge.Optional) return o; ju() } finally { M_() } } else if ("number" == typeof s) { let o = null, a = P_(e, t), l = Ds, c = n & ge.Host ? t[yt][Yt] : null; for ((-1 === a || n & ge.SkipSelf) && (l = -1 === a ? wl(e, t) : t[a + 8], l !== Ds && H_(n, !1) ? (o = t[H], a = Fo(l), t = ko(l, t)) : a = -1); -1 !== a;) { const u = t[H]; if (V_(s, a, u.data)) { const h = bT(a, t, i, o, n, c); if (h !== Mi) return h } l = t[a + 8], l !== Ds && H_(n, t[H].data[a + 8] === c) && V_(s, a, t) ? (o = u, a = Fo(l), t = ko(l, t)) : a = -1 } } return r } function bT(e, t, i, n, r, s) { const o = t[H], a = o.data[e + 8], u = Cl(a, o, i, null == n ? Cr(a) && yd : n != o && 0 != (3 & a.type), r & ge.Host && s === a); return null !== u ? Tr(t, o, u, a) : Mi } function Cl(e, t, i, n, r) { const s = e.providerIndexes, o = t.data, a = 1048575 & s, l = e.directiveStart, u = s >> 20, g = r ? a + u : e.directiveEnd; for (let _ = n ? a : a + u; _ < g; _++) { const y = o[_]; if (_ < l && i === y || _ >= l && y.type === i) return _ } if (r) { const _ = o[l]; if (_ && ii(_) && _.type === i) return l } return null } function Tr(e, t, i, n) { let r = e[i]; const s = t.data; if (function hT(e) { return e instanceof Po }(r)) { const o = r; o.resolving && function zE(e, t) { const i = t ? `. Dependency path: ${t.join(" > ")} > ${e}` : ""; throw new F(-200, `Circular dependency in DI detected for ${e}${i}`) }(function Ne(e) { return "function" == typeof e ? e.name || e.toString() : "object" == typeof e && null != e && "function" == typeof e.type ? e.type.name || e.type.toString() : te(e) }(s[i])); const a = bl(o.canSeeViewProviders); o.resolving = !0; const c = o.injectImpl ? _n(o.injectImpl) : null; C_(e, n, ge.Default); try { r = e[i] = o.factory(void 0, s, e, n), t.firstCreatePass && i >= n.directiveStart && function dT(e, t, i) { const { ngOnChanges: n, ngOnInit: r, ngDoCheck: s } = t.type.prototype; if (n) { const o = o_(t); (i.preOrderHooks ??= []).push(e, o), (i.preOrderCheckHooks ??= []).push(e, o) } r && (i.preOrderHooks ??= []).push(0 - e, r), s && ((i.preOrderHooks ??= []).push(e, s), (i.preOrderCheckHooks ??= []).push(e, s)) }(i, s[i], t) } finally { null !== c && _n(c), bl(a), o.resolving = !1, M_() } } return r } function V_(e, t, i) { return !!(i[t + (e >> R_)] & 1 << e) } function H_(e, t) { return !(e & ge.Self || e & ge.Host && t) } class un { constructor(t, i) { this._tNode = t, this._lView = i } get(t, i, n) { return L_(this._tNode, this._lView, t, rl(n), i) } } function CT() { return new un(Ut(), A()) } function St(e) { return Bi(() => { const t = e.prototype.constructor, i = t[Vi] || wd(t), n = Object.prototype; let r = Object.getPrototypeOf(e.prototype).constructor; for (; r && r !== n;) { const s = r[Vi] || wd(r); if (s && s !== i) return s; r = Object.getPrototypeOf(r) } return s => new s }) } function wd(e) { return Hu(e) ? () => { const t = wd(X(e)); return t && t() } : Er(e) } function U_(e) { const t = e[H], i = t.type; return 2 === i ? t.declTNode : 1 === i ? e[Yt] : null } const Es = "__parameters__"; function Ts(e, t, i) { return Bi(() => { const n = function Cd(e) { return function (...i) { if (e) { const n = e(...i); for (const r in n) this[r] = n[r] } } }(t); function r(...s) { if (this instanceof r) return n.apply(this, s), this; const o = new r(...s); return a.annotation = o, a; function a(l, c, u) { const h = l.hasOwnProperty(Es) ? l[Es] : Object.defineProperty(l, Es, { value: [] })[Es]; for (; h.length <= u;)h.push(null); return (h[u] = h[u] || []).push(o), l } } return i && (r.prototype = Object.create(i.prototype)), r.prototype.ngMetadataName = e, r.annotationCls = r, r }) } function Is(e, t) { e.forEach(i => Array.isArray(i) ? Is(i, t) : t(i)) } function $_(e, t, i) { t >= e.length ? e.push(i) : e.splice(t, 0, i) } function El(e, t) { return t >= e.length - 1 ? e.pop() : e.splice(t, 1)[0] } function Vo(e, t) { const i = []; for (let n = 0; n < e; n++)i.push(t); return i } function xn(e, t, i) { let n = Ns(e, t); return n >= 0 ? e[1 | n] = i : (n = ~n, function OT(e, t, i, n) { let r = e.length; if (r == t) e.push(i, n); else if (1 === r) e.push(n, e[0]), e[0] = i; else { for (r--, e.push(e[r - 1], e[r]); r > t;)e[r] = e[r - 2], r--; e[t] = i, e[t + 1] = n } }(e, n, t, i)), n } function Ed(e, t) { const i = Ns(e, t); if (i >= 0) return e[1 | i] } function Ns(e, t) { return function G_(e, t, i) { let n = 0, r = e.length >> i; for (; r !== n;) { const s = n + (r - n >> 1), o = e[s << i]; if (t === o) return s << i; o > t ? r = s : n = s + 1 } return ~(r << i) }(e, t, 1) } const Td = Eo(Ts("Optional"), 8), Md = Eo(Ts("SkipSelf"), 4); function Al(e) { return 128 == (128 & e.flags) } var sr = function (e) { return e[e.Important = 1] = "Important", e[e.DashCase = 2] = "DashCase", e }(sr || {}); const Od = new Map; let tM = 0; const Rd = "__ngContext__"; function Zt(e, t) { vn(t) ? (e[Rd] = t[Oo], function iM(e) { Od.set(e[Oo], e) }(t)) : e[Rd] = t } let Pd; function Fd(e, t) { return Pd(e, t) } function jo(e) { const t = e[tt]; return rn(t) ? t[tt] : t } function um(e) { return fm(e[No]) } function dm(e) { return fm(e[ni]) } function fm(e) { for (; null !== e && !rn(e);)e = e[ni]; return e } function xs(e, t, i, n, r) { if (null != n) { let s, o = !1; rn(n) ? s = n : vn(n) && (o = !0, n = n[ht]); const a = We(n); 0 === e && null !== i ? null == r ? _m(t, i, a) : Mr(t, i, a, r || null, !0) : 1 === e && null !== i ? Mr(t, i, a, r || null, !0) : 2 === e ? function Ll(e, t, i) { const n = Fl(e, t); n && function wM(e, t, i, n) { e.removeChild(t, i, n) }(e, n, t, i) }(t, a, o) : 3 === e && t.destroyNode(a), null != s && function SM(e, t, i, n, r) { const s = i[Ci]; s !== We(i) && xs(t, e, n, s, r); for (let a = Ht; a < i.length; a++) { const l = i[a]; Go(l[H], l, e, t, n, s) } }(t, e, s, i, r) } } function Rl(e, t, i) { return e.createElement(t, i) } function pm(e, t) { const i = e[ms], n = i.indexOf(t); h_(t), i.splice(n, 1) } function Pl(e, t) { if (e.length <= Ht) return; const i = Ht + t, n = e[i]; if (n) { const r = n[Ao]; null !== r && r !== e && pm(r, n), t > 0 && (e[i - 1][ni] = n[ni]); const s = El(e, Ht + t); !function pM(e, t) { Go(e, t, t[ne], 2, null, null), t[ht] = null, t[Yt] = null }(n[H], n); const o = s[wi]; null !== o && o.detachView(s[H]), n[tt] = null, n[ni] = null, n[ie] &= -129 } return n } function Ld(e, t) { if (!(256 & t[ie])) { const i = t[ne]; t[ll]?.destroy(), t[cl]?.destroy(), i.destroyNode && Go(e, t, i, 3, null, null), function mM(e) { let t = e[No]; if (!t) return Bd(e[H], e); for (; t;) { let i = null; if (vn(t)) i = t[No]; else { const n = t[Ht]; n && (i = n) } if (!i) { for (; t && !t[ni] && t !== e;)vn(t) && Bd(t[H], t), t = t[tt]; null === t && (t = e), vn(t) && Bd(t[H], t), i = t && t[ni] } t = i } }(t) } } function Bd(e, t) { if (!(256 & t[ie])) { t[ie] &= -129, t[ie] |= 256, function DM(e, t) { let i; if (null != e && null != (i = e.destroyHooks)) for (let n = 0; n < i.length; n += 2) { const r = t[i[n]]; if (!(r instanceof Po)) { const s = i[n + 1]; if (Array.isArray(s)) for (let o = 0; o < s.length; o += 2) { const a = r[s[o]], l = s[o + 1]; Si(4, a, l); try { l.call(a) } finally { Si(5, a, l) } } else { Si(4, r, s); try { s.call(r) } finally { Si(5, r, s) } } } } }(e, t), function bM(e, t) { const i = e.cleanup, n = t[hs]; if (null !== i) for (let s = 0; s < i.length - 1; s += 2)if ("string" == typeof i[s]) { const o = i[s + 3]; o >= 0 ? n[o]() : n[-o].unsubscribe(), s += 2 } else i[s].call(n[i[s + 1]]); null !== n && (t[hs] = null); const r = t[nr]; if (null !== r) { t[nr] = null; for (let s = 0; s < r.length; s++)(0, r[s])() } }(e, t), 1 === t[H].type && t[ne].destroy(); const i = t[Ao]; if (null !== i && rn(t[tt])) { i !== t[tt] && pm(i, t); const n = t[wi]; null !== n && n.detachView(e) } !function rM(e) { Od.delete(e[Oo]) }(t) } } function Vd(e, t, i) { return function gm(e, t, i) { let n = t; for (; null !== n && 40 & n.type;)n = (t = n).parent; if (null === n) return i[ht]; { const { componentOffset: r } = n; if (r > -1) { const { encapsulation: s } = e.data[n.directiveStart + r]; if (s === ei.None || s === ei.Emulated) return null } return yn(n, i) } }(e, t.parent, i) } function Mr(e, t, i, n, r) { e.insertBefore(t, i, n, r) } function _m(e, t, i) { e.appendChild(t, i) } function mm(e, t, i, n, r) { null !== n ? Mr(e, t, i, n, r) : _m(e, t, i) } function Fl(e, t) { return e.parentNode(t) } function vm(e, t, i) { return bm(e, t, i) } let Hd, Bl, Gd, Vl, bm = function ym(e, t, i) { return 40 & e.type ? yn(e, i) : null }; function kl(e, t, i, n) { const r = Vd(e, n, t), s = t[ne], a = vm(n.parent || t[Yt], n, t); if (null != r) if (Array.isArray(i)) for (let l = 0; l < i.length; l++)mm(s, r, i[l], a, !1); else mm(s, r, i, a, !1); void 0 !== Hd && Hd(s, n, t, i, r) } function $o(e, t) { if (null !== t) { const i = t.type; if (3 & i) return yn(t, e); if (4 & i) return Ud(-1, e[t.index]); if (8 & i) { const n = t.child; if (null !== n) return $o(e, n); { const r = e[t.index]; return rn(r) ? Ud(-1, r) : We(r) } } if (32 & i) return Fd(t, e)() || We(e[t.index]); { const n = wm(e, t); return null !== n ? Array.isArray(n) ? n[0] : $o(jo(e[yt]), n) : $o(e, t.next) } } return null } function wm(e, t) { return null !== t ? e[yt][Yt].projection[t.projection] : null } function Ud(e, t) { const i = Ht + e + 1; if (i < t.length) { const n = t[i], r = n[H].firstChild; if (null !== r) return $o(n, r) } return t[Ci] } function jd(e, t, i, n, r, s, o) { for (; null != i;) { const a = n[i.index], l = i.type; if (o && 0 === t && (a && Zt(We(a), n), i.flags |= 2), 32 != (32 & i.flags)) if (8 & l) jd(e, t, i.child, n, r, s, !1), xs(t, e, r, a, s); else if (32 & l) { const c = Fd(i, n); let u; for (; u = c();)xs(t, e, r, u, s); xs(t, e, r, a, s) } else 16 & l ? Em(e, t, n, i, r, s) : xs(t, e, r, a, s); i = o ? i.projectionNext : i.next } } function Go(e, t, i, n, r, s) { jd(i, n, e.firstChild, t, r, s, !1) } function Em(e, t, i, n, r, s) { const o = i[yt], l = o[Yt].projection[n.projection]; if (Array.isArray(l)) for (let c = 0; c < l.length; c++)xs(t, e, r, l[c], s); else { let c = l; const u = o[tt]; Al(n) && (c.flags |= 128), jd(e, t, c, u, r, s, !0) } } function Sm(e, t, i) { "" === i ? e.removeAttribute(t, "class") : e.setAttribute(t, "class", i) } function Tm(e, t, i) { const { mergedAttrs: n, classes: r, styles: s } = i; null !== n && Xu(e, t, n), null !== r && Sm(e, t, r), null !== s && function MM(e, t, i) { e.setAttribute(t, "style", i) }(e, t, s) } function Rs(e) { return function $d() { if (void 0 === Bl && (Bl = null, je.trustedTypes)) try { Bl = je.trustedTypes.createOperation("angular", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Bl }()?.createHTML(e) || e } function Ps() { if (void 0 !== Gd) return Gd; if (typeof document < "u") return document; throw new F(210, !1) } function Mm(e) { return function zd() { if (void 0 === Vl && (Vl = null, je.trustedTypes)) try { Vl = je.trustedTypes.createOperation("angular#unsafe-bypass", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Vl }()?.createHTML(e) || e } class Am { constructor(t) { this.changingThisBreaksApplicationSecurity = t } toString() { return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})` } } function or(e) { return e instanceof Am ? e.changingThisBreaksApplicationSecurity : e } function zo(e, t) { const i = function LM(e) { return e instanceof Am && e.getTypeName() || null }(e); if (null != i && i !== t) { if ("ResourceURL" === i && "URL" === t) return !0; throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`) } return i === t } class BM { constructor(t) { this.inertDocumentHelper = t } getInertBodyElement(t) { t = "" + t; try { const i = (new window.DOMParser).parseFromString(Rs(t), "text/html").body; return null === i ? this.inertDocumentHelper.getInertBodyElement(t) : (i.removeChild(i.firstChild), i) } catch { return null } } } class VM { constructor(t) { this.defaultDoc = t, this.inertDocument = this.defaultDoc.implementation.createHTMLDocument("sanitization-inert") } getInertBodyElement(t) { const i = this.inertDocument.createElement("template"); return i.innerHTML = Rs(t), i } } const UM = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; function Wd(e) { return (e = String(e)).match(UM) ? e : "unsafe:" + e } function $i(e) { const t = {}; for (const i of e.split(",")) t[i] = !0; return t } function Wo(...e) { const t = {}; for (const i of e) for (const n in i) i.hasOwnProperty(n) && (t[n] = !0); return t } const xm = $i("area,br,col,hr,img,wbr"), Rm = $i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), Pm = $i("rp,rt"), qd = Wo(xm, Wo(Rm, $i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")), Wo(Pm, $i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")), Wo(Pm, Rm)), Yd = $i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"), Fm = Wo(Yd, $i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"), $i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")), jM = $i("script,style,template"); class $M { constructor() { this.sanitizedSomething = !1, this.buf = [] } sanitizeChildren(t) { let i = t.firstChild, n = !0; for (; i;)if (i.nodeType === Node.ELEMENT_NODE ? n = this.startElement(i) : i.nodeType === Node.TEXT_NODE ? this.chars(i.nodeValue) : this.sanitizedSomething = !0, n && i.firstChild) i = i.firstChild; else for (; i;) { i.nodeType === Node.ELEMENT_NODE && this.endElement(i); let r = this.checkClobberedElement(i, i.nextSibling); if (r) { i = r; break } i = this.checkClobberedElement(i, i.parentNode) } return this.buf.join("") } startElement(t) { const i = t.nodeName.toLowerCase(); if (!qd.hasOwnProperty(i)) return this.sanitizedSomething = !0, !jM.hasOwnProperty(i); this.buf.push("<"), this.buf.push(i); const n = t.attributes; for (let r = 0; r < n.length; r++) { const s = n.item(r), o = s.name, a = o.toLowerCase(); if (!Fm.hasOwnProperty(a)) { this.sanitizedSomething = !0; continue } let l = s.value; Yd[a] && (l = Wd(l)), this.buf.push(" ", o, '="', km(l), '"') } return this.buf.push(">"), !0 } endElement(t) { const i = t.nodeName.toLowerCase(); qd.hasOwnProperty(i) && !xm.hasOwnProperty(i) && (this.buf.push("")) } chars(t) { this.buf.push(km(t)) } checkClobberedElement(t, i) { if (i && (t.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`); return i } } const GM = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, zM = /([^\#-~ |!])/g; function km(e) { return e.replace(/&/g, "&").replace(GM, function (t) { return "&#" + (1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536) + ";" }).replace(zM, function (t) { return "&#" + t.charCodeAt(0) + ";" }).replace(//g, ">") } let Hl; function Zd(e) { return "content" in e && function qM(e) { return e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.nodeName }(e) ? e.content : null } var Fs = function (e) { return e[e.NONE = 0] = "NONE", e[e.HTML = 1] = "HTML", e[e.STYLE = 2] = "STYLE", e[e.SCRIPT = 3] = "SCRIPT", e[e.URL = 4] = "URL", e[e.RESOURCE_URL = 5] = "RESOURCE_URL", e }(Fs || {}); function Lm(e) { const t = qo(); return t ? Mm(t.sanitize(Fs.HTML, e) || "") : zo(e, "HTML") ? Mm(or(e)) : function WM(e, t) { let i = null; try { Hl = Hl || function Om(e) { const t = new VM(e); return function HM() { try { return !!(new window.DOMParser).parseFromString(Rs(""), "text/html") } catch { return !1 } }() ? new BM(t) : t }(e); let n = t ? String(t) : ""; i = Hl.getInertBodyElement(n); let r = 5, s = n; do { if (0 === r) throw new Error("Failed to sanitize html because the input is unstable"); r--, n = s, s = i.innerHTML, i = Hl.getInertBodyElement(n) } while (n !== s); return Rs((new $M).sanitizeChildren(Zd(i) || i)) } finally { if (i) { const n = Zd(i) || i; for (; n.firstChild;)n.removeChild(n.firstChild) } } }(Ps(), te(e)) } function Jd(e) { const t = qo(); return t ? t.sanitize(Fs.URL, e) || "" : zo(e, "URL") ? or(e) : Wd(te(e)) } function qo() { const e = A(); return e && e[ps].sanitizer } class W { constructor(t, i) { this._desc = t, this.ngMetadataName = "InjectionToken", this.\u0275prov = void 0, "number" == typeof i ? this.__NG_ELEMENT_ID__ = i : void 0 !== i && (this.\u0275prov = G({ token: this, providedIn: i.providedIn || "root", factory: i.factory })) } get multi() { return this } toString() { return `InjectionToken ${this._desc}` } } const Ul = new W("ENVIRONMENT_INITIALIZER"), Vm = new W("INJECTOR", -1), Hm = new W("INJECTOR_DEF_TYPES"); class Qd { get(t, i = Co) { if (i === Co) { const n = new Error(`NullInjectorError: No provider for ${Nt(t)}!`); throw n.name = "NullInjectorError", n } return i } } function eI(...e) { return { \u0275providers: Um(0, e), \u0275fromNgModule: !0 } } function Um(e, ...t) { const i = [], n = new Set; let r; const s = o => { i.push(o) }; return Is(t, o => { const a = o; jl(a, s, [], n) && (r ||= [], r.push(a)) }), void 0 !== r && jm(r, s), i } function jm(e, t) { for (let i = 0; i < e.length; i++) { const { ngModule: n, providers: r } = e[i]; Xd(r, s => { t(s, n) }) } } function jl(e, t, i, n) { if (!(e = X(e))) return !1; let r = null, s = tl(e); const o = !s && me(e); if (s || o) { if (o && !o.standalone) return !1; r = e } else { const l = e.ngModule; if (s = tl(l), !s) return !1; r = l } const a = n.has(r); if (o) { if (a) return !1; if (n.add(r), o.dependencies) { const l = "function" == typeof o.dependencies ? o.dependencies() : o.dependencies; for (const c of l) jl(c, t, i, n) } } else { if (!s) return !1; { if (null != s.imports && !a) { let c; n.add(r); try { Is(s.imports, u => { jl(u, t, i, n) && (c ||= [], c.push(u)) }) } finally { } void 0 !== c && jm(c, t) } if (!a) { const c = Er(r) || (() => new r); t({ provide: r, useFactory: c, deps: Ee }, r), t({ provide: Hm, useValue: r, multi: !0 }, r), t({ provide: Ul, useValue: () => L(r), multi: !0 }, r) } const l = s.providers; if (null != l && !a) { const c = e; Xd(l, u => { t(u, c) }) } } } return r !== e && void 0 !== e.providers } function Xd(e, t) { for (let i of e) Uu(i) && (i = i.\u0275providers), Array.isArray(i) ? Xd(i, t) : t(i) } const tI = Re({ provide: String, useValue: Re }); function ef(e) { return null !== e && "object" == typeof e && tI in e } function Ir(e) { return "function" == typeof e } const tf = new W("Set Injector scope."), $l = {}, iI = {}; let nf; function Gl() { return void 0 === nf && (nf = new Qd), nf } class zn { } class zl extends zn { get destroyed() { return this._destroyed } constructor(t, i, n, r) { super(), this.parent = i, this.source = n, this.scopes = r, this.records = new Map, this._ngOnDestroyHooks = new Set, this._onDestroyHooks = [], this._destroyed = !1, sf(t, o => this.processProvider(o)), this.records.set(Vm, ks(void 0, this)), r.has("environment") && this.records.set(zn, ks(void 0, this)); const s = this.records.get(tf); null != s && "string" == typeof s.value && this.scopes.add(s.value), this.injectorDefTypes = new Set(this.get(Hm.multi, Ee, ge.Self)) } destroy() { this.assertNotDestroyed(), this._destroyed = !0; try { for (const i of this._ngOnDestroyHooks) i.ngOnDestroy(); const t = this._onDestroyHooks; this._onDestroyHooks = []; for (const i of t) i() } finally { this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear() } } onDestroy(t) { return this.assertNotDestroyed(), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t) } runInContext(t) { this.assertNotDestroyed(); const i = er(this), n = _n(void 0); try { return t() } finally { er(i), _n(n) } } get(t, i = Co, n = ge.Default) { if (this.assertNotDestroyed(), t.hasOwnProperty(kg)) return t[kg](this); n = rl(n); const s = er(this), o = _n(void 0); try { if (!(n & ge.SkipSelf)) { let l = this.records.get(t); if (void 0 === l) { const c = function lI(e) { return "function" == typeof e || "object" == typeof e && e instanceof W }(t) && el(t); l = c && this.injectableDefInScope(c) ? ks(rf(t), $l) : null, this.records.set(t, l) } if (null != l) return this.hydrate(t, l) } return (n & ge.Self ? Gl() : this.parent).get(t, i = n & ge.Optional && i === Co ? null : i) } catch (a) { if ("NullInjectorError" === a.name) { if ((a[il] = a[il] || []).unshift(Nt(t)), s) throw a; return function sS(e, t, i, n) { const r = e[il]; throw t[Rg] && r.unshift(t[Rg]), e.message = function oS(e, t, i, n = null) { e = e && "\n" === e.charAt(0) && "\u0275" == e.charAt(1) ? e.slice(2) : e; let r = Nt(t); if (Array.isArray(t)) r = t.map(Nt).join(" -> "); else if ("object" == typeof t) { let s = []; for (let o in t) if (t.hasOwnProperty(o)) { let a = t[o]; s.push(o + ":" + ("string" == typeof a ? JSON.stringify(a) : Nt(a))) } r = `{${s.join(", ")}}` } return `${i}${n ? "(" + n + ")" : ""}[${r}]: ${e.replace(eS, "\n ")}` }("\n" + e.message, r, i, n), e.ngTokenPath = r, e[il] = null, e }(a, t, "R3InjectorError", this.source) } throw a } finally { _n(o), er(s) } } resolveInjectorInitializers() { const t = er(this), i = _n(void 0); try { const r = this.get(Ul.multi, Ee, ge.Self); for (const s of r) s() } finally { er(t), _n(i) } } toString() { const t = [], i = this.records; for (const n of i.keys()) t.push(Nt(n)); return `R3Injector[${t.join(", ")}]` } assertNotDestroyed() { if (this._destroyed) throw new F(205, !1) } processProvider(t) { let i = Ir(t = X(t)) ? t : X(t && t.provide); const n = function sI(e) { return ef(e) ? ks(void 0, e.useValue) : ks(zm(e), $l) }(t); if (Ir(t) || !0 !== t.multi) this.records.get(i); else { let r = this.records.get(i); r || (r = ks(void 0, $l, !0), r.factory = () => Ju(r.multi), this.records.set(i, r)), i = t, r.multi.push(t) } this.records.set(i, n) } hydrate(t, i) { return i.value === $l && (i.value = iI, i.value = i.factory()), "object" == typeof i.value && i.value && function aI(e) { return null !== e && "object" == typeof e && "function" == typeof e.ngOnDestroy }(i.value) && this._ngOnDestroyHooks.add(i.value), i.value } injectableDefInScope(t) { if (!t.providedIn) return !1; const i = X(t.providedIn); return "string" == typeof i ? "any" === i || this.scopes.has(i) : this.injectorDefTypes.has(i) } removeOnDestroy(t) { const i = this._onDestroyHooks.indexOf(t); -1 !== i && this._onDestroyHooks.splice(i, 1) } } function rf(e) { const t = el(e), i = null !== t ? t.factory : Er(e); if (null !== i) return i; if (e instanceof W) throw new F(204, !1); if (e instanceof Function) return function rI(e) { const t = e.length; if (t > 0) throw Vo(t, "?"), new F(204, !1); const i = function JE(e) { return e && (e[nl] || e[Ng]) || null }(e); return null !== i ? () => i.factory(e) : () => new e }(e); throw new F(204, !1) } function zm(e, t, i) { let n; if (Ir(e)) { const r = X(e); return Er(r) || rf(r) } if (ef(e)) n = () => X(e.useValue); else if (function Gm(e) { return !(!e || !e.useFactory) }(e)) n = () => e.useFactory(...Ju(e.deps || [])); else if (function $m(e) { return !(!e || !e.useExisting) }(e)) n = () => L(X(e.useExisting)); else { const r = X(e && (e.useClass || e.provide)); if (!function oI(e) { return !!e.deps }(e)) return Er(r) || rf(r); n = () => new r(...Ju(e.deps)) } return n } function ks(e, t, i = !1) { return { factory: e, value: t, multi: i ? [] : void 0 } } function sf(e, t) { for (const i of e) Array.isArray(i) ? sf(i, t) : i && Uu(i) ? sf(i.\u0275providers, t) : t(i) } const Wl = new W("AppId", { providedIn: "root", factory: () => cI }), cI = "ng", Wm = new W("Platform Initializer"), Nr = new W("Platform ID", { providedIn: "platform", factory: () => "unknown" }), qm = new W("CSP nonce", { providedIn: "root", factory: () => Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); let Ym = (e, t, i) => null; function pf(e, t, i = !1) { return Ym(e, t, i) } class yI { } class Qm { } class DI { resolveComponentFactory(t) { throw function bI(e) { const t = Error(`No component factory found for ${Nt(e)}.`); return t.ngComponent = e, t }(t) } } let Kl = (() => { class t { } return t.NULL = new DI, t })(); function wI() { return Vs(Ut(), A()) } function Vs(e, t) { return new Fe(yn(e, t)) } let Fe = (() => { class t { constructor(n) { this.nativeElement = n } } return t.__NG_ELEMENT_ID__ = wI, t })(); function CI(e) { return e instanceof Fe ? e.nativeElement : e } class mf { } let Wn = (() => { class t { constructor() { this.destroyNode = null } } return t.__NG_ELEMENT_ID__ = () => function EI() { const e = A(), i = On(Ut().index, e); return (vn(i) ? i : e)[ne] }(), t })(), SI = (() => { var e; class t { } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => null }), t })(); class Xl { constructor(t) { this.full = t, this.major = t.split(".")[0], this.minor = t.split(".")[1], this.patch = t.split(".").slice(2).join(".") } } const TI = new Xl("16.2.3"), vf = {}; function nv(e, t = null, i = null, n) { const r = iv(e, t, i, n); return r.resolveInjectorInitializers(), r } function iv(e, t = null, i = null, n, r = new Set) { const s = [i || Ee, eI(e)]; return n = n || ("object" == typeof e ? void 0 : Nt(e)), new zl(s, t || Gl(), n || null, r) } let Jt = (() => { var e; class t { static create(n, r) { if (Array.isArray(n)) return nv({ name: "" }, r, n, ""); { const s = n.name ?? ""; return nv({ name: s }, n.parent, n.providers, s) } } } return (e = t).THROW_IF_NOT_FOUND = Co, e.NULL = new Qd, e.\u0275prov = G({ token: e, providedIn: "any", factory: () => L(Vm) }), e.__NG_ELEMENT_ID__ = -1, t })(); function Df(e) { return t => { setTimeout(e, void 0, t) } } const Y = class RI extends ee { constructor(t = !1) { super(), this.__isAsync = t } emit(t) { super.next(t) } subscribe(t, i, n) { let r = t, s = i || (() => null), o = n; if (t && "object" == typeof t) { const l = t; r = l.next?.bind(l), s = l.error?.bind(l), o = l.complete?.bind(l) } this.__isAsync && (s = Df(s), r && (r = Df(r)), o && (o = Df(o))); const a = super.subscribe({ next: r, error: s, complete: o }); return t instanceof de && t.add(a), a } }; function rv(...e) { } class Se { constructor({ enableLongStackTrace: t = !1, shouldCoalesceEventChangeDetection: i = !1, shouldCoalesceRunChangeDetection: n = !1 }) { if (this.hasPendingMacrotasks = !1, this.hasPendingMicrotasks = !1, this.isStable = !0, this.onUnstable = new Y(!1), this.onMicrotaskEmpty = new Y(!1), this.onStable = new Y(!1), this.onError = new Y(!1), typeof Zone > "u") throw new F(908, !1); Zone.assertZonePatched(); const r = this; r._nesting = 0, r._outer = r._inner = Zone.current, Zone.TaskTrackingZoneSpec && (r._inner = r._inner.fork(new Zone.TaskTrackingZoneSpec)), t && Zone.longStackTraceZoneSpec && (r._inner = r._inner.fork(Zone.longStackTraceZoneSpec)), r.shouldCoalesceEventChangeDetection = !n && i, r.shouldCoalesceRunChangeDetection = n, r.lastRequestAnimationFrameId = -1, r.nativeRequestAnimationFrame = function PI() { const e = "function" == typeof je.requestAnimationFrame; let t = je[e ? "requestAnimationFrame" : "setTimeout"], i = je[e ? "cancelAnimationFrame" : "clearTimeout"]; if (typeof Zone < "u" && t && i) { const n = t[Zone.__symbol__("OriginalDelegate")]; n && (t = n); const r = i[Zone.__symbol__("OriginalDelegate")]; r && (i = r) } return { nativeRequestAnimationFrame: t, nativeCancelAnimationFrame: i } }().nativeRequestAnimationFrame, function LI(e) { const t = () => { !function kI(e) { e.isCheckStableRunning || -1 !== e.lastRequestAnimationFrameId || (e.lastRequestAnimationFrameId = e.nativeRequestAnimationFrame.call(je, () => { e.fakeTopEventTask || (e.fakeTopEventTask = Zone.root.scheduleEventTask("fakeTopEventTask", () => { e.lastRequestAnimationFrameId = -1, Cf(e), e.isCheckStableRunning = !0, wf(e), e.isCheckStableRunning = !1 }, void 0, () => { }, () => { })), e.fakeTopEventTask.invoke() }), Cf(e)) }(e) }; e._inner = e._inner.fork({ name: "angular", properties: { isAngularZone: !0 }, onInvokeTask: (i, n, r, s, o, a) => { try { return sv(e), i.invokeTask(r, s, o, a) } finally { (e.shouldCoalesceEventChangeDetection && "eventTask" === s.type || e.shouldCoalesceRunChangeDetection) && t(), ov(e) } }, onInvoke: (i, n, r, s, o, a, l) => { try { return sv(e), i.invoke(r, s, o, a, l) } finally { e.shouldCoalesceRunChangeDetection && t(), ov(e) } }, onHasTask: (i, n, r, s) => { i.hasTask(r, s), n === r && ("microTask" == s.change ? (e._hasPendingMicrotasks = s.microTask, Cf(e), wf(e)) : "macroTask" == s.change && (e.hasPendingMacrotasks = s.macroTask)) }, onHandleError: (i, n, r, s) => (i.handleError(r, s), e.runOutsideAngular(() => e.onError.emit(s)), !1) }) }(r) } static isInAngularZone() { return typeof Zone < "u" && !0 === Zone.current.get("isAngularZone") } static assertInAngularZone() { if (!Se.isInAngularZone()) throw new F(909, !1) } static assertNotInAngularZone() { if (Se.isInAngularZone()) throw new F(909, !1) } run(t, i, n) { return this._inner.run(t, i, n) } runTask(t, i, n, r) { const s = this._inner, o = s.scheduleEventTask("NgZoneEvent: " + r, t, FI, rv, rv); try { return s.runTask(o, i, n) } finally { s.cancelTask(o) } } runGuarded(t, i, n) { return this._inner.runGuarded(t, i, n) } runOutsideAngular(t) { return this._outer.run(t) } } const FI = {}; function wf(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 Cf(e) { e.hasPendingMicrotasks = !!(e._hasPendingMicrotasks || (e.shouldCoalesceEventChangeDetection || e.shouldCoalesceRunChangeDetection) && -1 !== e.lastRequestAnimationFrameId) } function sv(e) { e._nesting++, e.isStable && (e.isStable = !1, e.onUnstable.emit(null)) } function ov(e) { e._nesting--, wf(e) } class BI { constructor() { this.hasPendingMicrotasks = !1, this.hasPendingMacrotasks = !1, this.isStable = !0, this.onUnstable = new Y, this.onMicrotaskEmpty = new Y, this.onStable = new Y, this.onError = new Y } run(t, i, n) { return t.apply(i, n) } runGuarded(t, i, n) { return t.apply(i, n) } runOutsideAngular(t) { return t() } runTask(t, i, n, r) { return t.apply(i, n) } } const av = new W("", { providedIn: "root", factory: lv }); function lv() { const e = fe(Se); let t = !0; return function Eg(...e) { const t = Qa(e), i = function FE(e, t) { return "number" == typeof Fu(e) ? e.pop() : t }(e, 1 / 0), n = e; return n.length ? 1 === n.length ? Ft(n[0]) : yg(i)(wo(n, t)) : Do }(new ze(r => { t = e.isStable && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks, e.runOutsideAngular(() => { r.next(t), r.complete() }) }), new ze(r => { let s; e.runOutsideAngular(() => { s = e.onStable.subscribe(() => { Se.assertNotInAngularZone(), queueMicrotask(() => { !t && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks && (t = !0, r.next(!0)) }) }) }); const o = e.onUnstable.subscribe(() => { Se.assertInAngularZone(), t && (t = !1, e.runOutsideAngular(() => { r.next(!1) })) }); return () => { s.unsubscribe(), o.unsubscribe() } }).pipe(Sg())) } let Ef = (() => { var e; class t { constructor() { this.callbacks = new Set, this.deferredCallbacks = new Set, this.renderDepth = 0, this.runningCallbacks = !1 } begin() { if (this.runningCallbacks) throw new F(102, !1); this.renderDepth++ } end() { if (this.renderDepth--, 0 === this.renderDepth) try { this.runningCallbacks = !0; for (const n of this.callbacks) n.invoke() } finally { this.runningCallbacks = !1; for (const n of this.deferredCallbacks) this.callbacks.add(n); this.deferredCallbacks.clear() } } register(n) { (this.runningCallbacks ? this.deferredCallbacks : this.callbacks).add(n) } unregister(n) { this.callbacks.delete(n), this.deferredCallbacks.delete(n) } ngOnDestroy() { this.callbacks.clear(), this.deferredCallbacks.clear() } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function Jo(e) { for (; e;) { e[ie] |= 64; const t = jo(e); if (nd(e) && !t) return e; e = t } return null } function Sf(e) { return e.ngOriginalError } class Ar { constructor() { this._console = console } handleError(t) { const i = this._findOriginalError(t); this._console.error("ERROR", t), i && this._console.error("ORIGINAL ERROR", i) } _findOriginalError(t) { let i = t && Sf(t); for (; i && Sf(i);)i = Sf(i); return i || null } } const hv = new W("", { providedIn: "root", factory: () => !1 }); class mv extends n_ { constructor() { super(...arguments), this.consumerAllowSignalWrites = !1, this._lView = null } set lView(t) { this._lView = t } onConsumerDependencyMayHaveChanged() { Jo(this._lView) } onProducerUpdateValueVersion() { } get hasReadASignal() { return this.hasProducers } runInContext(t, i, n) { const r = kt(this); this.trackingVersion++; try { t(i, n) } finally { kt(r) } } destroy() { this.trackingVersion++ } } let tc = null; function vv() { return tc ??= new mv, tc } function yv(e, t) { return e[t] ?? vv() } function bv(e, t) { const i = vv(); i.hasReadASignal && (e[t] = tc, i.lView = e, tc = new mv) } const re = {}; function R(e) { Dv(ve(), A(), cn() + e, !1) } function Dv(e, t, i, n) { if (!n) if (3 == (3 & t[ie])) { const s = e.preOrderCheckHooks; null !== s && vl(t, s, i) } else { const s = e.preOrderHooks; null !== s && yl(t, s, 0, i) } Sr(i) } function v(e, t = ge.Default) { const i = A(); return null === i ? L(e, t) : L_(Ut(), i, X(e), t) } function nc(e, t, i, n, r, s, o, a, l, c, u) { const h = t.blueprint.slice(); return h[ht] = r, h[ie] = 140 | n, (null !== c || e && 2048 & e[ie]) && (h[ie] |= 2048), f_(h), h[tt] = h[gs] = e, h[vt] = i, h[ps] = o || e && e[ps], h[ne] = a || e && e[ne], h[tr] = l || e && e[tr] || null, h[Yt] = s, h[Oo] = function nM() { return tM++ }(), h[Hi] = u, h[Jg] = c, h[yt] = 2 == t.type ? e[yt] : h, h } function js(e, t, i, n, r) { let s = e.data[t]; if (null === s) s = function Tf(e, t, i, n, r) { const s = v_(), o = cd(), l = e.data[t] = function nN(e, t, i, n, r, s) { let o = t ? t.injectorIndex : -1, a = 0; return ys() && (a |= 128), { type: i, index: n, insertBeforeIndex: null, injectorIndex: o, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: r, attrs: s, mergedAttrs: null, localNames: null, initialInputs: void 0, inputs: null, outputs: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 } }(0, o ? s : s && s.parent, i, t, n, r); return null === e.firstChild && (e.firstChild = l), null !== s && (o ? null == s.child && null !== l.parent && (s.child = l) : null === s.next && (s.next = l, l.prev = s)), l }(e, t, i, n, r), function tT() { return K.lFrame.inI18n }() && (s.flags |= 32); else if (64 & s.type) { s.type = i, s.value = n, s.attrs = r; const o = function Ro() { const e = K.lFrame, t = e.currentTNode; return e.isParent ? t : t.parent }(); s.injectorIndex = null === o ? -1 : o.injectorIndex } return Ti(s, !0), s } function Qo(e, t, i, n) { if (0 === i) return -1; const r = t.length; for (let s = 0; s < i; s++)t.push(n), e.blueprint.push(n), e.data.push(null); return r } function wv(e, t, i, n, r) { const s = yv(t, ll), o = cn(), a = 2 & n; try { if (Sr(-1), a && t.length > pe && Dv(e, t, pe, !1), Si(a ? 2 : 0, r), a) s.runInContext(i, n, r); else { const c = kt(null); try { i(n, r) } finally { kt(c) } } } finally { a && null === t[ll] && bv(t, ll), Sr(o), Si(a ? 3 : 1, r) } } function Mf(e, t, i) { if (td(t)) { const n = kt(null); try { const s = t.directiveEnd; for (let o = t.directiveStart; o < s; o++) { const a = e.data[o]; a.contentQueries && a.contentQueries(1, i[o], o) } } finally { kt(n) } } } function If(e, t, i) { m_() && (function cN(e, t, i, n) { const r = i.directiveStart, s = i.directiveEnd; Cr(i) && function _N(e, t, i) { const n = yn(t, e), r = Cv(i); let o = 16; i.signals ? o = 4096 : i.onPush && (o = 64); const a = ic(e, nc(e, r, null, o, n, t, null, e[ps].rendererFactory.createRenderer(n, i), null, null, null)); e[t.index] = a }(t, i, e.data[r + i.componentOffset]), e.firstCreatePass || Dl(i, t), Zt(n, t); const o = i.initialInputs; for (let a = r; a < s; a++) { const l = e.data[a], c = Tr(t, e, a, i); Zt(c, t), null !== o && mN(0, a - r, c, l, 0, o), ii(l) && (On(i.index, t)[vt] = Tr(t, e, a, i)) } }(e, t, i, yn(i, t)), 64 == (64 & i.flags) && Iv(e, t, i)) } function Nf(e, t, i = yn) { const n = t.localNames; if (null !== n) { let r = t.index + 1; for (let s = 0; s < n.length; s += 2) { const o = n[s + 1], a = -1 === o ? i(t, e) : e[o]; e[r++] = a } } } function Cv(e) { const t = e.tView; return null === t || t.incompleteFirstPass ? e.tView = Af(1, null, e.template, e.decls, e.vars, e.directiveDefs, e.pipeDefs, e.viewQuery, e.schemas, e.consts, e.id) : t } function Af(e, t, i, n, r, s, o, a, l, c, u) { const h = pe + n, g = h + r, _ = function JI(e, t) { const i = []; for (let n = 0; n < t; n++)i.push(n < e ? null : re); return i }(h, g), y = "function" == typeof c ? c() : c; return _[H] = { type: e, blueprint: _, template: i, queries: null, viewQuery: a, declTNode: t, data: _.slice().fill(null, h), bindingStartIndex: h, expandoStartIndex: g, hostBindingOpCodes: null, firstCreatePass: !0, firstUpdatePass: !0, staticViewQueries: !1, staticContentQueries: !1, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: "function" == typeof s ? s() : s, pipeRegistry: "function" == typeof o ? o() : o, firstChild: null, schemas: l, consts: y, incompleteFirstPass: !1, ssrId: u } } let Ev = e => null; function Sv(e, t, i, n) { for (let r in e) if (e.hasOwnProperty(r)) { i = null === i ? {} : i; const s = e[r]; null === n ? Tv(i, t, r, s) : n.hasOwnProperty(r) && Tv(i, t, n[r], s) } return i } function Tv(e, t, i, n) { e.hasOwnProperty(i) ? e[i].push(t, n) : e[i] = [t, n] } function Rn(e, t, i, n, r, s, o, a) { const l = yn(t, i); let u, c = t.inputs; !a && null != c && (u = c[n]) ? (Ff(e, i, u, n, r), Cr(t) && function sN(e, t) { const i = On(t, e); 16 & i[ie] || (i[ie] |= 64) }(i, t.index)) : 3 & t.type && (n = function rN(e) { return "class" === e ? "className" : "for" === e ? "htmlFor" : "formaction" === e ? "formAction" : "innerHtml" === e ? "innerHTML" : "readonly" === e ? "readOnly" : "tabindex" === e ? "tabIndex" : e }(n), r = null != o ? o(r, t.value || "", n) : r, s.setProperty(l, n, r)) } function Of(e, t, i, n) { if (m_()) { const r = null === n ? null : { "": -1 }, s = function dN(e, t) { const i = e.directiveRegistry; let n = null, r = null; if (i) for (let s = 0; s < i.length; s++) { const o = i[s]; if ($g(t, o.selectors, !1)) if (n || (n = []), ii(o)) if (null !== o.findHostDirectiveDefs) { const a = []; r = r || new Map, o.findHostDirectiveDefs(o, a, r), n.unshift(...a, o), xf(e, t, a.length) } else n.unshift(o), xf(e, t, 0); else r = r || new Map, o.findHostDirectiveDefs?.(o, n, r), n.push(o) } return null === n ? null : [n, r] }(e, i); let o, a; null === s ? o = a = null : [o, a] = s, null !== o && Mv(e, t, i, o, r, a), r && function fN(e, t, i) { if (t) { const n = e.localNames = []; for (let r = 0; r < t.length; r += 2) { const s = i[t[r + 1]]; if (null == s) throw new F(-301, !1); n.push(t[r], s) } } }(i, n, r) } i.mergedAttrs = To(i.mergedAttrs, i.attrs) } function Mv(e, t, i, n, r, s) { for (let c = 0; c < n.length; c++)Dd(Dl(i, t), e, n[c].type); !function pN(e, t, i) { e.flags |= 1, e.directiveStart = t, e.directiveEnd = t + i, e.providerIndexes = t }(i, e.data.length, n.length); for (let c = 0; c < n.length; c++) { const u = n[c]; u.providersResolver && u.providersResolver(u) } let o = !1, a = !1, l = Qo(e, t, n.length, null); for (let c = 0; c < n.length; c++) { const u = n[c]; i.mergedAttrs = To(i.mergedAttrs, u.hostAttrs), gN(e, i, t, l, u), hN(l, u, r), null !== u.contentQueries && (i.flags |= 4), (null !== u.hostBindings || null !== u.hostAttrs || 0 !== u.hostVars) && (i.flags |= 64); const h = u.type.prototype; !o && (h.ngOnChanges || h.ngOnInit || h.ngDoCheck) && ((e.preOrderHooks ??= []).push(i.index), o = !0), !a && (h.ngOnChanges || h.ngDoCheck) && ((e.preOrderCheckHooks ??= []).push(i.index), a = !0), l++ } !function iN(e, t, i) { const r = t.directiveEnd, s = e.data, o = t.attrs, a = []; let l = null, c = null; for (let u = t.directiveStart; u < r; u++) { const h = s[u], g = i ? i.get(h) : null, y = g ? g.outputs : null; l = Sv(h.inputs, u, l, g ? g.inputs : null), c = Sv(h.outputs, u, c, y); const b = null === l || null === o || jg(t) ? null : vN(l, u, o); a.push(b) } null !== l && (l.hasOwnProperty("class") && (t.flags |= 8), l.hasOwnProperty("style") && (t.flags |= 16)), t.initialInputs = a, t.inputs = l, t.outputs = c }(e, i, s) } function Iv(e, t, i) { const n = i.directiveStart, r = i.directiveEnd, s = i.index, o = function iT() { return K.lFrame.currentDirectiveIndex }(); try { Sr(s); for (let a = n; a < r; a++) { const l = e.data[a], c = t[a]; dd(a), (null !== l.hostBindings || 0 !== l.hostVars || null !== l.hostAttrs) && uN(l, c) } } finally { Sr(-1), dd(o) } } function uN(e, t) { null !== e.hostBindings && e.hostBindings(1, t) } function xf(e, t, i) { t.componentOffset = i, (e.components ??= []).push(t.index) } function hN(e, t, i) { if (i) { if (t.exportAs) for (let n = 0; n < t.exportAs.length; n++)i[t.exportAs[n]] = e; ii(t) && (i[""] = e) } } function gN(e, t, i, n, r) { e.data[n] = r; const s = r.factory || (r.factory = Er(r.type)), o = new Po(s, ii(r), v); e.blueprint[n] = o, i[n] = o, function aN(e, t, i, n, r) { const s = r.hostBindings; if (s) { let o = e.hostBindingOpCodes; null === o && (o = e.hostBindingOpCodes = []); const a = ~t.index; (function lN(e) { let t = e.length; for (; t > 0;) { const i = e[--t]; if ("number" == typeof i && i < 0) return i } return 0 })(o) != a && o.push(a), o.push(i, n, s) } }(e, t, n, Qo(e, i, r.hostVars, re), r) } function Ii(e, t, i, n, r, s) { const o = yn(e, t); !function Rf(e, t, i, n, r, s, o) { if (null == s) e.removeAttribute(t, r, i); else { const a = null == o ? te(s) : o(s, n || "", r); e.setAttribute(t, r, a, i) } }(t[ne], o, s, e.value, i, n, r) } function mN(e, t, i, n, r, s) { const o = s[t]; if (null !== o) for (let a = 0; a < o.length;)Nv(n, i, o[a++], o[a++], o[a++]) } function Nv(e, t, i, n, r) { const s = kt(null); try { const o = e.inputTransforms; null !== o && o.hasOwnProperty(n) && (r = o[n].call(t, r)), null !== e.setInput ? e.setInput(t, r, i, n) : t[n] = r } finally { kt(s) } } function vN(e, t, i) { let n = null, r = 0; for (; r < i.length;) { const s = i[r]; if (0 !== s) if (5 !== s) { if ("number" == typeof s) break; if (e.hasOwnProperty(s)) { null === n && (n = []); const o = e[s]; for (let a = 0; a < o.length; a += 2)if (o[a] === t) { n.push(s, o[a + 1], i[r + 1]); break } } r += 2 } else r += 2; else r += 4 } return n } function Av(e, t, i, n) { return [e, !0, !1, t, null, 0, n, i, null, null, null] } function Ov(e, t) { const i = e.contentQueries; if (null !== i) for (let n = 0; n < i.length; n += 2) { const s = i[n + 1]; if (-1 !== s) { const o = e.data[s]; hd(i[n]), o.contentQueries(2, t[s], s) } } } function ic(e, t) { return e[No] ? e[Zg][ni] = t : e[No] = t, e[Zg] = t, t } function Pf(e, t, i) { hd(0); const n = kt(null); try { t(e, i) } finally { kt(n) } } function xv(e) { return e[hs] || (e[hs] = []) } function Rv(e) { return e.cleanup || (e.cleanup = []) } function Fv(e, t) { const i = e[tr], n = i ? i.get(Ar, null) : null; n && n.handleError(t) } function Ff(e, t, i, n, r) { for (let s = 0; s < i.length;) { const o = i[s++], a = i[s++]; Nv(e.data[o], t[o], n, a, r) } } function yN(e, t) { const i = On(t, e), n = i[H]; !function bN(e, t) { for (let i = t.length; i < e.blueprint.length; i++)t.push(e.blueprint[i]) }(n, i); const r = i[ht]; null !== r && null === i[Hi] && (i[Hi] = pf(r, i[tr])), kf(n, i, i[vt]) } function kf(e, t, i) { pd(t); try { const n = e.viewQuery; null !== n && Pf(1, n, i); const r = e.template; null !== r && wv(e, t, r, 1, i), e.firstCreatePass && (e.firstCreatePass = !1), e.staticContentQueries && Ov(e, t), e.staticViewQueries && Pf(2, e.viewQuery, i); const s = e.components; null !== s && function DN(e, t) { for (let i = 0; i < t.length; i++)yN(e, t[i]) }(t, s) } catch (n) { throw e.firstCreatePass && (e.incompleteFirstPass = !0, e.firstCreatePass = !1), n } finally { t[ie] &= -5, gd() } } let kv = (() => { var e; class t { constructor() { this.all = new Set, this.queue = new Map } create(n, r, s) { const o = typeof Zone > "u" ? null : Zone.current, a = new PS(n, u => { this.all.has(u) && this.queue.set(u, o) }, s); let l; this.all.add(a), a.notify(); const c = () => { a.cleanup(), l?.(), this.all.delete(a), this.queue.delete(a) }; return l = r?.onDestroy(c), { destroy: c } } flush() { if (0 !== this.queue.size) for (const [n, r] of this.queue) this.queue.delete(n), r ? r.run(() => n.run()) : n.run() } get isQueueEmpty() { return 0 === this.queue.size } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function rc(e, t, i) { let n = i ? e.styles : null, r = i ? e.classes : null, s = 0; if (null !== t) for (let o = 0; o < t.length; o++) { const a = t[o]; "number" == typeof a ? s = a : 1 == s ? r = Vu(r, a) : 2 == s && (n = Vu(n, a + ": " + t[++o] + ";")) } i ? e.styles = n : e.stylesWithoutHost = n, i ? e.classes = r : e.classesWithoutHost = r } function Ko(e, t, i, n, r = !1) { for (; null !== i;) { const s = t[i.index]; null !== s && n.push(We(s)), rn(s) && Lv(s, n); const o = i.type; if (8 & o) Ko(e, t, i.child, n); else if (32 & o) { const a = Fd(i, t); let l; for (; l = a();)n.push(l) } else if (16 & o) { const a = wm(t, i); if (Array.isArray(a)) n.push(...a); else { const l = jo(t[yt]); Ko(l[H], l, a, n, !0) } } i = r ? i.projectionNext : i.next } return n } function Lv(e, t) { for (let i = Ht; i < e.length; i++) { const n = e[i], r = n[H].firstChild; null !== r && Ko(n[H], n, r, t) } e[Ci] !== e[ht] && t.push(e[Ci]) } function sc(e, t, i, n = !0) { const r = t[ps], s = r.rendererFactory, o = r.afterRenderEventManager; s.begin?.(), o?.begin(); try { Bv(e, t, e.template, i) } catch (l) { throw n && Fv(t, l), l } finally { s.end?.(), r.effectManager?.flush(), o?.end() } } function Bv(e, t, i, n) { const r = t[ie]; if (256 != (256 & r)) { t[ps].effectManager?.flush(), pd(t); try { f_(t), function b_(e) { return K.lFrame.bindingIndex = e }(e.bindingStartIndex), null !== i && wv(e, t, i, 2, n); const o = 3 == (3 & r); if (o) { const c = e.preOrderCheckHooks; null !== c && vl(t, c, null) } else { const c = e.preOrderHooks; null !== c && yl(t, c, 0, null), _d(t, 0) } if (function EN(e) { for (let t = um(e); null !== t; t = dm(t)) { if (!t[Qg]) continue; const i = t[ms]; for (let n = 0; n < i.length; n++) { GS(i[n]) } } }(t), Vv(t, 2), null !== e.contentQueries && Ov(e, t), o) { const c = e.contentCheckHooks; null !== c && vl(t, c) } else { const c = e.contentHooks; null !== c && yl(t, c, 1), _d(t, 1) } !function ZI(e, t) { const i = e.hostBindingOpCodes; if (null === i) return; const n = yv(t, cl); try { for (let r = 0; r < i.length; r++) { const s = i[r]; if (s < 0) Sr(~s); else { const o = s, a = i[++r], l = i[++r]; nT(a, o), n.runInContext(l, 2, t[o]) } } } finally { null === t[cl] && bv(t, cl), Sr(-1) } }(e, t); const a = e.components; null !== a && Uv(t, a, 0); const l = e.viewQuery; if (null !== l && Pf(2, l, n), o) { const c = e.viewCheckHooks; null !== c && vl(t, c) } else { const c = e.viewHooks; null !== c && yl(t, c, 2), _d(t, 2) } !0 === e.firstUpdatePass && (e.firstUpdatePass = !1), t[ie] &= -73, h_(t) } finally { gd() } } } function Vv(e, t) { for (let i = um(e); null !== i; i = dm(i))for (let n = Ht; n < i.length; n++)Hv(i[n], t) } function SN(e, t, i) { Hv(On(t, e), i) } function Hv(e, t) { if (!function jS(e) { return 128 == (128 & e[ie]) }(e)) return; const i = e[H]; if (80 & e[ie] && 0 === t || 1024 & e[ie] || 2 === t) Bv(i, e, i.template, e[vt]); else if (e[Io] > 0) { Vv(e, 1); const r = e[H].components; null !== r && Uv(e, r, 1) } } function Uv(e, t, i) { for (let n = 0; n < t.length; n++)SN(e, t[n], i) } class Xo { get rootNodes() { const t = this._lView, i = t[H]; return Ko(i, t, i.firstChild, []) } constructor(t, i) { this._lView = t, this._cdRefInjectingView = i, this._appRef = null, this._attachedToViewContainer = !1 } get context() { return this._lView[vt] } set context(t) { this._lView[vt] = t } get destroyed() { return 256 == (256 & this._lView[ie]) } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { const t = this._lView[tt]; if (rn(t)) { const i = t[8], n = i ? i.indexOf(this) : -1; n > -1 && (Pl(t, n), El(i, n)) } this._attachedToViewContainer = !1 } Ld(this._lView[H], this._lView) } onDestroy(t) { !function g_(e, t) { if (256 == (256 & e[ie])) throw new F(911, !1); null === e[nr] && (e[nr] = []), e[nr].push(t) }(this._lView, t) } markForCheck() { Jo(this._cdRefInjectingView || this._lView) } detach() { this._lView[ie] &= -129 } reattach() { this._lView[ie] |= 128 } detectChanges() { sc(this._lView[H], this._lView, this.context) } checkNoChanges() { } attachToViewContainerRef() { if (this._appRef) throw new F(902, !1); this._attachedToViewContainer = !0 } detachFromAppRef() { this._appRef = null, function _M(e, t) { Go(e, t, t[ne], 2, null, null) }(this._lView[H], this._lView) } attachToAppRef(t) { if (this._attachedToViewContainer) throw new F(902, !1); this._appRef = t } } class TN extends Xo { constructor(t) { super(t), this._view = t } detectChanges() { const t = this._view; sc(t[H], t, t[vt], !1) } checkNoChanges() { } get context() { return null } } class jv extends Kl { constructor(t) { super(), this.ngModule = t } resolveComponentFactory(t) { const i = me(t); return new ea(i, this.ngModule) } } function $v(e) { const t = []; for (let i in e) e.hasOwnProperty(i) && t.push({ propName: e[i], templateName: i }); return t } class IN { constructor(t, i) { this.injector = t, this.parentInjector = i } get(t, i, n) { n = rl(n); const r = this.injector.get(t, vf, n); return r !== vf || i === vf ? r : this.parentInjector.get(t, i, n) } } class ea extends Qm { get inputs() { const t = this.componentDef, i = t.inputTransforms, n = $v(t.inputs); if (null !== i) for (const r of n) i.hasOwnProperty(r.propName) && (r.transform = i[r.propName]); return n } get outputs() { return $v(this.componentDef.outputs) } constructor(t, i) { super(), this.componentDef = t, this.ngModule = i, this.componentType = t.type, this.selector = function _S(e) { return e.map(gS).join(",") }(t.selectors), this.ngContentSelectors = t.ngContentSelectors ? t.ngContentSelectors : [], this.isBoundToModule = !!i } create(t, i, n, r) { let s = (r = r || this.ngModule) instanceof zn ? r : r?.injector; s && null !== this.componentDef.getStandaloneInjector && (s = this.componentDef.getStandaloneInjector(s) || s); const o = s ? new IN(t, s) : t, a = o.get(mf, null); if (null === a) throw new F(407, !1); const h = { rendererFactory: a, sanitizer: o.get(SI, null), effectManager: o.get(kv, null), afterRenderEventManager: o.get(Ef, null) }, g = a.createRenderer(null, this.componentDef), _ = this.componentDef.selectors[0][0] || "div", y = n ? function QI(e, t, i, n) { const s = n.get(hv, !1) || i === ei.ShadowDom, o = e.selectRootElement(t, s); return function KI(e) { Ev(e) }(o), o }(g, n, this.componentDef.encapsulation, o) : Rl(g, _, function MN(e) { const t = e.toLowerCase(); return "svg" === t ? "svg" : "math" === t ? "math" : null }(_)), T = this.componentDef.signals ? 4608 : this.componentDef.onPush ? 576 : 528; let C = null; null !== y && (C = pf(y, o, !0)); const P = Af(0, null, null, 1, 0, null, null, null, null, null, null), O = nc(null, P, null, T, null, null, h, g, o, null, C); let V, J; pd(O); try { const ue = this.componentDef; let _e, lt = null; ue.findHostDirectiveDefs ? (_e = [], lt = new Map, ue.findHostDirectiveDefs(ue, _e, lt), _e.push(ue)) : _e = [ue]; const Dt = function AN(e, t) { const i = e[H], n = pe; return e[n] = t, js(i, n, 2, "#host", null) }(O, y), Bt = function ON(e, t, i, n, r, s, o) { const a = r[H]; !function xN(e, t, i, n) { for (const r of e) t.mergedAttrs = To(t.mergedAttrs, r.hostAttrs); null !== t.mergedAttrs && (rc(t, t.mergedAttrs, !0), null !== i && Tm(n, i, t)) }(n, e, t, o); let l = null; null !== t && (l = pf(t, r[tr])); const c = s.rendererFactory.createRenderer(t, i); let u = 16; i.signals ? u = 4096 : i.onPush && (u = 64); const h = nc(r, Cv(i), null, u, r[e.index], e, s, c, null, null, l); return a.firstCreatePass && xf(a, e, n.length - 1), ic(r, h), r[e.index] = h }(Dt, y, ue, _e, O, h, g); J = d_(P, pe), y && function PN(e, t, i, n) { if (n) Xu(e, i, ["ng-version", TI.full]); else { const { attrs: r, classes: s } = function mS(e) { const t = [], i = []; let n = 1, r = 2; for (; n < e.length;) { let s = e[n]; if ("string" == typeof s) 2 === r ? "" !== s && t.push(s, e[++n]) : 8 === r && i.push(s); else { if (!ti(r)) break; r = s } n++ } return { attrs: t, classes: i } }(t.selectors[0]); r && Xu(e, i, r), s && s.length > 0 && Sm(e, i, s.join(" ")) } }(g, ue, y, n), void 0 !== i && function FN(e, t, i) { const n = e.projection = []; for (let r = 0; r < t.length; r++) { const s = i[r]; n.push(null != s ? Array.from(s) : null) } }(J, this.ngContentSelectors, i), V = function RN(e, t, i, n, r, s) { const o = Ut(), a = r[H], l = yn(o, r); Mv(a, r, o, i, null, n); for (let u = 0; u < i.length; u++)Zt(Tr(r, a, o.directiveStart + u, o), r); Iv(a, r, o), l && Zt(l, r); const c = Tr(r, a, o.directiveStart + o.componentOffset, o); if (e[vt] = r[vt] = c, null !== s) for (const u of s) u(c, t); return Mf(a, o, e), c }(Bt, ue, _e, lt, O, [kN]), kf(P, O, null) } finally { gd() } return new NN(this.componentType, V, Vs(J, O), O, J) } } class NN extends yI { constructor(t, i, n, r, s) { super(), this.location = n, this._rootLView = r, this._tNode = s, this.previousInputValues = null, this.instance = i, this.hostView = this.changeDetectorRef = new TN(r), this.componentType = t } setInput(t, i) { const n = this._tNode.inputs; let r; if (null !== n && (r = n[t])) { if (this.previousInputValues ??= new Map, this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), i)) return; const s = this._rootLView; Ff(s[H], s, r, t, i), this.previousInputValues.set(t, i), Jo(On(this._tNode.index, s)) } } get injector() { return new un(this._tNode, this._rootLView) } destroy() { this.hostView.destroy() } onDestroy(t) { this.hostView.onDestroy(t) } } function kN() { const e = Ut(); ml(A()[H], e) } function Oe(e) { let t = function Gv(e) { return Object.getPrototypeOf(e.prototype).constructor }(e.type), i = !0; const n = [e]; for (; t;) { let r; if (ii(e)) r = t.\u0275cmp || t.\u0275dir; else { if (t.\u0275cmp) throw new F(903, !1); r = t.\u0275dir } if (r) { if (i) { n.push(r); const o = e; o.inputs = oc(e.inputs), o.inputTransforms = oc(e.inputTransforms), o.declaredInputs = oc(e.declaredInputs), o.outputs = oc(e.outputs); const a = r.hostBindings; a && HN(e, a); const l = r.viewQuery, c = r.contentQueries; if (l && BN(e, l), c && VN(e, c), Ka(e.inputs, r.inputs), Ka(e.declaredInputs, r.declaredInputs), Ka(e.outputs, r.outputs), null !== r.inputTransforms && (null === o.inputTransforms && (o.inputTransforms = {}), Ka(o.inputTransforms, r.inputTransforms)), ii(r) && r.data.animation) { const u = e.data; u.animation = (u.animation || []).concat(r.data.animation) } } const s = r.features; if (s) for (let o = 0; o < s.length; o++) { const a = s[o]; a && a.ngInherit && a(e), a === Oe && (i = !1) } } t = Object.getPrototypeOf(t) } !function LN(e) { let t = 0, i = null; for (let n = e.length - 1; n >= 0; n--) { const r = e[n]; r.hostVars = t += r.hostVars, r.hostAttrs = To(r.hostAttrs, i = To(i, r.hostAttrs)) } }(n) } function oc(e) { return e === Di ? {} : e === Ee ? [] : e } function BN(e, t) { const i = e.viewQuery; e.viewQuery = i ? (n, r) => { t(n, r), i(n, r) } : t } function VN(e, t) { const i = e.contentQueries; e.contentQueries = i ? (n, r, s) => { t(n, r, s), i(n, r, s) } : t } function HN(e, t) { const i = e.hostBindings; e.hostBindings = i ? (n, r) => { t(n, r), i(n, r) } : t } function ac(e) { return !!function Lf(e) { return null !== e && ("function" == typeof e || "object" == typeof e) }(e) && (Array.isArray(e) || !(e instanceof Map) && Symbol.iterator in e) } function Qt(e, t, i) { return !Object.is(e[t], i) && (e[t] = i, !0) } function Te(e, t, i, n) { const r = A(); return Qt(r, bs(), t) && (ve(), Ii(ot(), r, e, t, i, n)), Te } function Gs(e, t, i, n) { return Qt(e, bs(), i) ? t + te(i) + n : re } function B(e, t, i, n, r, s, o, a) { const l = A(), c = ve(), u = e + pe, h = c.firstCreatePass ? function dA(e, t, i, n, r, s, o, a, l) { const c = t.consts, u = js(t, e, 4, o || null, ir(c, a)); Of(t, i, u, ir(c, l)), ml(t, u); const h = u.tView = Af(2, u, n, r, s, t.directiveRegistry, t.pipeRegistry, null, t.schemas, c, null); return null !== t.queries && (t.queries.template(t, u), h.queries = t.queries.embeddedTView(u)), u }(u, c, l, t, i, n, r, s, o) : c.data[u]; Ti(h, !1); const g = oy(c, l, h, e); _l() && kl(c, l, g, h), Zt(g, l), ic(l, l[u] = Av(g, l, g, h)), dl(h) && If(c, l, h), null != o && Nf(l, h, a) } let oy = function ay(e, t, i, n) { return rr(!0), t[ne].createComment("") }; function x(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !1), x } function $f(e, t, i, n, r) { const o = r ? "class" : "style"; Ff(e, i, t.inputs[o], o, n) } function j(e, t, i, n) { const r = A(), s = ve(), o = pe + e, a = r[ne], l = s.firstCreatePass ? function gA(e, t, i, n, r, s) { const o = t.consts, l = js(t, e, 2, n, ir(o, r)); return Of(t, i, l, ir(o, s)), null !== l.attrs && rc(l, l.attrs, !1), null !== l.mergedAttrs && rc(l, l.mergedAttrs, !0), null !== t.queries && t.queries.elementStart(t, l), l }(o, s, r, t, i, n) : s.data[o], c = ly(s, r, l, a, t, e); r[o] = c; const u = dl(l); return Ti(l, !0), Tm(a, c, l), 32 != (32 & l.flags) && _l() && kl(s, r, c, l), 0 === function WS() { return K.lFrame.elementDepthCount }() && Zt(c, r), function qS() { K.lFrame.elementDepthCount++ }(), u && (If(s, r, l), Mf(s, l, r)), null !== n && Nf(r, l), j } function U() { let e = Ut(); cd() ? ud() : (e = e.parent, Ti(e, !1)); const t = e; (function ZS(e) { return K.skipHydrationRootTNode === e })(t) && function XS() { K.skipHydrationRootTNode = null }(), function YS() { K.lFrame.elementDepthCount-- }(); const i = ve(); return i.firstCreatePass && (ml(i, e), td(e) && i.queries.elementEnd(e)), null != t.classesWithoutHost && function pT(e) { return 0 != (8 & e.flags) }(t) && $f(i, t, A(), t.classesWithoutHost, !0), null != t.stylesWithoutHost && function gT(e) { return 0 != (16 & e.flags) }(t) && $f(i, t, A(), t.stylesWithoutHost, !1), U } function Be(e, t, i, n) { return j(e, t, i, n), U(), Be } let ly = (e, t, i, n, r, s) => (rr(!0), Rl(n, r, function I_() { return K.lFrame.currentNamespace }())); function Dn() { return A() } function fc(e) { return !!e && "function" == typeof e.then } function dy(e) { return !!e && "function" == typeof e.subscribe } function ce(e, t, i, n) { const r = A(), s = ve(), o = Ut(); return function hy(e, t, i, n, r, s, o) { const a = dl(n), c = e.firstCreatePass && Rv(e), u = t[vt], h = xv(t); let g = !0; if (3 & n.type || o) { const b = yn(n, t), D = o ? o(b) : b, T = h.length, C = o ? O => o(We(O[n.index])) : n.index; let P = null; if (!o && a && (P = function DA(e, t, i, n) { const r = e.cleanup; if (null != r) for (let s = 0; s < r.length - 1; s += 2) { const o = r[s]; if (o === i && r[s + 1] === n) { const a = t[hs], l = r[s + 2]; return a.length > l ? a[l] : null } "string" == typeof o && (s += 2) } return null }(e, t, r, n.index)), null !== P) (P.__ngLastListenerFn__ || P).__ngNextListenerFn__ = s, P.__ngLastListenerFn__ = s, g = !1; else { s = gy(n, t, u, s, !1); const O = i.listen(D, r, s); h.push(s, O), c && c.push(r, C, T, T + 1) } } else s = gy(n, t, u, s, !1); const _ = n.outputs; let y; if (g && null !== _ && (y = _[r])) { const b = y.length; if (b) for (let D = 0; D < b; D += 2) { const V = t[y[D]][y[D + 1]].subscribe(s), J = h.length; h.push(s, V), c && c.push(r, n.index, J, -(J + 1)) } } }(s, r, r[ne], o, e, t, n), ce } function py(e, t, i, n) { try { return Si(6, t, i), !1 !== i(n) } catch (r) { return Fv(e, r), !1 } finally { Si(7, t, i) } } function gy(e, t, i, n, r) { return function s(o) { if (o === Function) return n; Jo(e.componentOffset > -1 ? On(e.index, t) : t); let l = py(t, i, n, o), c = s.__ngNextListenerFn__; for (; c;)l = py(t, i, c, o) && l, c = c.__ngNextListenerFn__; return r && !1 === l && o.preventDefault(), l } } function z(e = 1) { return function sT(e) { return (K.lFrame.contextLView = function oT(e, t) { for (; e > 0;)t = t[gs], e--; return t }(e, K.lFrame.contextLView))[vt] }(e) } function wA(e, t) { let i = null; const n = function dS(e) { const t = e.attrs; if (null != t) { const i = t.indexOf(5); if (!(1 & i)) return t[i + 1] } return null }(e); for (let r = 0; r < t.length; r++) { const s = t[r]; if ("*" !== s) { if (null === n ? $g(e, s, !0) : pS(n, s)) return r } else i = r } return i } function Wf(e) { const t = A()[yt][Yt]; if (!t.projection) { const n = t.projection = Vo(e ? e.length : 1, null), r = n.slice(); let s = t.child; for (; null !== s;) { const o = e ? wA(s, e) : 0; null !== o && (r[o] ? r[o].projectionNext = s : n[o] = s, r[o] = s), s = s.next } } } function qf(e, t = 0, i) { const n = A(), r = ve(), s = js(r, pe + e, 16, null, i || null); null === s.projection && (s.projection = t), ud(), (!n[Hi] || ys()) && 32 != (32 & s.flags) && function EM(e, t, i) { Em(t[ne], 0, t, i, Vd(e, i, t), vm(i.parent || t[Yt], i, t)) }(r, n, s) } function Pn(e, t, i) { return hc(e, "", t, "", i), Pn } function hc(e, t, i, n, r) { const s = A(), o = Gs(s, t, i, n); return o !== re && Rn(ve(), ot(), s, e, o, s[ne], r, !1), hc } function pc(e, t) { return e << 17 | t << 2 } function ar(e) { return e >> 17 & 32767 } function Yf(e) { return 2 | e } function xr(e) { return (131068 & e) >> 2 } function Zf(e, t) { return -131069 & e | t << 2 } function Jf(e) { return 1 | e } function Ey(e, t, i, n, r) { const s = e[i + 1], o = null === t; let a = n ? ar(s) : xr(s), l = !1; for (; 0 !== a && (!1 === l || o);) { const u = e[a + 1]; IA(e[a], t) && (l = !0, e[a + 1] = n ? Jf(u) : Yf(u)), a = n ? ar(u) : xr(u) } l && (e[i + 1] = n ? Yf(s) : Jf(s)) } function IA(e, t) { return null === e || null == t || (Array.isArray(e) ? e[1] : e) === t || !(!Array.isArray(e) || "string" != typeof t) && Ns(e, t) >= 0 } const Ot = { textEnd: 0, key: 0, keyEnd: 0, value: 0, valueEnd: 0 }; function Sy(e) { return e.substring(Ot.key, Ot.keyEnd) } function Ty(e, t) { const i = Ot.textEnd; return i === t ? -1 : (t = Ot.keyEnd = function xA(e, t, i) { for (; t < i && e.charCodeAt(t) > 32;)t++; return t }(e, Ot.key = t, i), Ks(e, t, i)) } function Ks(e, t, i) { for (; t < i && e.charCodeAt(t) <= 32;)t++; return t } function De(e, t) { return function ri(e, t, i, n) { const r = A(), s = ve(), o = ji(2); s.firstUpdatePass && Ry(s, e, o, n), t !== re && Qt(r, o, t) && Fy(s, s.data[cn()], r, r[ne], e, r[o + 1] = function $A(e, t) { return null == e || "" === e || ("string" == typeof t ? e += t : "object" == typeof e && (e = Nt(or(e)))), e }(t, i), n, o) }(e, t, null, !0), De } function Rr(e) { !function si(e, t, i, n) { const r = ve(), s = ji(2); r.firstUpdatePass && Ry(r, null, s, n); const o = A(); if (i !== re && Qt(o, s, i)) { const a = r.data[cn()]; if (Ly(a, n) && !xy(r, s)) { let l = n ? a.classesWithoutHost : a.stylesWithoutHost; null !== l && (i = Vu(l, i || "")), $f(r, a, o, i, n) } else !function jA(e, t, i, n, r, s, o, a) { r === re && (r = Ee); let l = 0, c = 0, u = 0 < r.length ? r[0] : null, h = 0 < s.length ? s[0] : null; for (; null !== u || null !== h;) { const g = l < r.length ? r[l + 1] : void 0, _ = c < s.length ? s[c + 1] : void 0; let b, y = null; u === h ? (l += 2, c += 2, g !== _ && (y = h, b = _)) : null === h || null !== u && u < h ? (l += 2, y = u) : (c += 2, y = h, b = _), null !== y && Fy(e, t, i, n, y, b, o, a), u = l < r.length ? r[l] : null, h = c < s.length ? s[c] : null } }(r, a, o, o[ne], o[s + 1], o[s + 1] = function HA(e, t, i) { if (null == i || "" === i) return Ee; const n = [], r = or(i); if (Array.isArray(r)) for (let s = 0; s < r.length; s++)e(n, r[s], !0); else if ("object" == typeof r) for (const s in r) r.hasOwnProperty(s) && e(n, s, r[s]); else "string" == typeof r && t(n, r); return n }(e, t, i), n, s) } }(UA, xi, e, !0) } function xi(e, t) { for (let i = function AA(e) { return function Iy(e) { Ot.key = 0, Ot.keyEnd = 0, Ot.value = 0, Ot.valueEnd = 0, Ot.textEnd = e.length }(e), Ty(e, Ks(e, 0, Ot.textEnd)) }(t); i >= 0; i = Ty(t, i))xn(e, Sy(t), !0) } function xy(e, t) { return t >= e.expandoStartIndex } function Ry(e, t, i, n) { const r = e.data; if (null === r[i + 1]) { const s = r[cn()], o = xy(e, i); Ly(s, n) && null === t && !o && (t = !1), t = function kA(e, t, i, n) { const r = function fd(e) { const t = K.lFrame.currentDirectiveIndex; return -1 === t ? null : e[t] }(e); let s = n ? t.residualClasses : t.residualStyles; if (null === r) 0 === (n ? t.classBindings : t.styleBindings) && (i = oa(i = Qf(null, e, t, i, n), t.attrs, n), s = null); else { const o = t.directiveStylingLast; if (-1 === o || e[o] !== r) if (i = Qf(r, e, t, i, n), null === s) { let l = function LA(e, t, i) { const n = i ? t.classBindings : t.styleBindings; if (0 !== xr(n)) return e[ar(n)] }(e, t, n); void 0 !== l && Array.isArray(l) && (l = Qf(null, e, t, l[1], n), l = oa(l, t.attrs, n), function BA(e, t, i, n) { e[ar(i ? t.classBindings : t.styleBindings)] = n }(e, t, n, l)) } else s = function VA(e, t, i) { let n; const r = t.directiveEnd; for (let s = 1 + t.directiveStylingLast; s < r; s++)n = oa(n, e[s].hostAttrs, i); return oa(n, t.attrs, i) }(e, t, n) } return void 0 !== s && (n ? t.residualClasses = s : t.residualStyles = s), i }(r, s, t, n), function TA(e, t, i, n, r, s) { let o = s ? t.classBindings : t.styleBindings, a = ar(o), l = xr(o); e[n] = i; let u, c = !1; if (Array.isArray(i) ? (u = i[1], (null === u || Ns(i, u) > 0) && (c = !0)) : u = i, r) if (0 !== l) { const g = ar(e[a + 1]); e[n + 1] = pc(g, a), 0 !== g && (e[g + 1] = Zf(e[g + 1], n)), e[a + 1] = function EA(e, t) { return 131071 & e | t << 17 }(e[a + 1], n) } else e[n + 1] = pc(a, 0), 0 !== a && (e[a + 1] = Zf(e[a + 1], n)), a = n; else e[n + 1] = pc(l, 0), 0 === a ? a = n : e[l + 1] = Zf(e[l + 1], n), l = n; c && (e[n + 1] = Yf(e[n + 1])), Ey(e, u, n, !0), Ey(e, u, n, !1), function MA(e, t, i, n, r) { const s = r ? e.residualClasses : e.residualStyles; null != s && "string" == typeof t && Ns(s, t) >= 0 && (i[n + 1] = Jf(i[n + 1])) }(t, u, e, n, s), o = pc(a, l), s ? t.classBindings = o : t.styleBindings = o }(r, s, t, i, o, n) } } function Qf(e, t, i, n, r) { let s = null; const o = i.directiveEnd; let a = i.directiveStylingLast; for (-1 === a ? a = i.directiveStart : a++; a < o && (s = t[a], n = oa(n, s.hostAttrs, r), s !== e);)a++; return null !== e && (i.directiveStylingLast = a), n } function oa(e, t, i) { const n = i ? 1 : 2; let r = -1; if (null !== t) for (let s = 0; s < t.length; s++) { const o = t[s]; "number" == typeof o ? r = o : r === n && (Array.isArray(e) || (e = void 0 === e ? [] : ["", e]), xn(e, o, !!i || t[++s])) } return void 0 === e ? null : e } function UA(e, t, i) { const n = String(t); "" !== n && !n.includes(" ") && xn(e, n, i) } function Fy(e, t, i, n, r, s, o, a) { if (!(3 & t.type)) return; const l = e.data, c = l[a + 1], u = function SA(e) { return 1 == (1 & e) }(c) ? ky(l, t, i, r, xr(c), o) : void 0; gc(u) || (gc(s) || function CA(e) { return 2 == (2 & e) }(c) && (s = ky(l, null, i, r, a, o)), function TM(e, t, i, n, r) { if (t) r ? e.addClass(i, n) : e.removeClass(i, n); else { let s = -1 === n.indexOf("-") ? void 0 : sr.DashCase; null == r ? e.removeStyle(i, n, s) : ("string" == typeof r && r.endsWith("!important") && (r = r.slice(0, -10), s |= sr.Important), e.setStyle(i, n, r, s)) } }(n, o, gl(cn(), i), r, s)) } function ky(e, t, i, n, r, s) { const o = null === t; let a; for (; r > 0;) { const l = e[r], c = Array.isArray(l), u = c ? l[1] : l, h = null === u; let g = i[r + 1]; g === re && (g = h ? Ee : void 0); let _ = h ? Ed(g, n) : u === n ? g : void 0; if (c && !gc(_) && (_ = Ed(l, n)), gc(_) && (a = _, o)) return a; const y = e[r + 1]; r = o ? ar(y) : xr(y) } if (null !== t) { let l = s ? t.residualClasses : t.residualStyles; null != l && (a = Ed(l, n)) } return a } function gc(e) { return void 0 !== e } function Ly(e, t) { return 0 != (e.flags & (t ? 8 : 16)) } function qe(e, t = "") { const i = A(), n = ve(), r = e + pe, s = n.firstCreatePass ? js(n, r, 1, t, null) : n.data[r], o = By(n, i, s, t, e); i[r] = o, _l() && kl(n, i, o, s), Ti(s, !1) } let By = (e, t, i, n, r) => (rr(!0), function xl(e, t) { return e.createText(t) }(t[ne], n)); function jt(e) { return Ri("", e, ""), jt } function Ri(e, t, i) { const n = A(), r = Gs(n, e, t, i); return r !== re && function zi(e, t, i) { const n = gl(t, e); !function hm(e, t, i) { e.setValue(t, i) }(e[ne], n, i) }(n, cn(), r), Ri } function Yn(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !0), Yn } const eo = "en-US"; let o0 = eo; function eh(e, t, i, n, r) { if (e = X(e), Array.isArray(e)) for (let s = 0; s < e.length; s++)eh(e[s], t, i, n, r); else { const s = ve(), o = A(), a = Ut(); let l = Ir(e) ? e : X(e.provide); const c = zm(e), u = 1048575 & a.providerIndexes, h = a.directiveStart, g = a.providerIndexes >> 20; if (Ir(e) || !e.multi) { const _ = new Po(c, r, v), y = nh(l, t, r ? u : u + g, h); -1 === y ? (Dd(Dl(a, o), s, l), th(s, e, t.length), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(_), o.push(_)) : (i[y] = _, o[y] = _) } else { const _ = nh(l, t, u + g, h), y = nh(l, t, u, u + g), D = y >= 0 && i[y]; if (r && !D || !r && !(_ >= 0 && i[_])) { Dd(Dl(a, o), s, l); const T = function cx(e, t, i, n, r) { const s = new Po(e, i, v); return s.multi = [], s.index = t, s.componentProviders = 0, O0(s, r, n && !i), s }(r ? lx : ax, i.length, r, n, c); !r && D && (i[y].providerFactory = T), th(s, e, t.length, 0), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(T), o.push(T) } else th(s, e, _ > -1 ? _ : y, O0(i[r ? y : _], c, !r && n)); !r && n && D && i[y].componentProviders++ } } } function th(e, t, i, n) { const r = Ir(t), s = function nI(e) { return !!e.useClass }(t); if (r || s) { const l = (s ? X(t.useClass) : t).prototype.ngOnDestroy; if (l) { const c = e.destroyHooks || (e.destroyHooks = []); if (!r && t.multi) { const u = c.indexOf(i); -1 === u ? c.push(i, [n, l]) : c[u + 1].push(n, l) } else c.push(i, l) } } } function O0(e, t, i) { return i && e.componentProviders++, e.multi.push(t) - 1 } function nh(e, t, i, n) { for (let r = i; r < n; r++)if (t[r] === e) return r; return -1 } function ax(e, t, i, n) { return ih(this.multi, []) } function lx(e, t, i, n) { const r = this.multi; let s; if (this.providerFactory) { const o = this.providerFactory.componentProviders, a = Tr(i, i[H], this.providerFactory.index, n); s = a.slice(0, o), ih(r, s); for (let l = o; l < a.length; l++)s.push(a[l]) } else s = [], ih(r, s); return s } function ih(e, t) { for (let i = 0; i < e.length; i++)t.push((0, e[i])()); return t } function $e(e, t = []) { return i => { i.providersResolver = (n, r) => function ox(e, t, i) { const n = ve(); if (n.firstCreatePass) { const r = ii(e); eh(i, n.data, n.blueprint, r, !0), eh(t, n.data, n.blueprint, r, !1) } }(n, r ? r(e) : e, t) } } class Fr { } class ux { } class rh extends Fr { constructor(t, i, n) { super(), this._parent = i, this._bootstrapComponents = [], this.destroyCbs = [], this.componentFactoryResolver = new jv(this); const r = function An(e, t) { const i = e[Fg] || null; if (!i && !0 === t) throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`); return i }(t); this._bootstrapComponents = function Gi(e) { return e instanceof Function ? e() : e }(r.bootstrap), this._r3Injector = iv(t, i, [{ provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }, ...n], Nt(t), new Set(["environment"])), this._r3Injector.resolveInjectorInitializers(), this.instance = this._r3Injector.get(t) } get injector() { return this._r3Injector } destroy() { const t = this._r3Injector; !t.destroyed && t.destroy(), this.destroyCbs.forEach(i => i()), this.destroyCbs = null } onDestroy(t) { this.destroyCbs.push(t) } } class sh extends ux { constructor(t) { super(), this.moduleType = t } create(t) { return new rh(this.moduleType, t, []) } } class x0 extends Fr { constructor(t) { super(), this.componentFactoryResolver = new jv(this), this.instance = null; const i = new zl([...t.providers, { provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }], t.parent || Gl(), t.debugName, new Set(["environment"])); this.injector = i, t.runEnvironmentInitializers && i.resolveInjectorInitializers() } destroy() { this.injector.destroy() } onDestroy(t) { this.injector.onDestroy(t) } } let px = (() => { var e; class t { constructor(n) { this._injector = n, this.cachedInjectors = new Map } getOrCreateStandaloneInjector(n) { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { const r = Um(0, n.type), s = r.length > 0 ? function hx(e, t, i = null) { return new x0({ providers: e, parent: t, debugName: i, runEnvironmentInitializers: !0 }).injector }([r], this._injector, `Standalone[${n.type.name}]`) : null; this.cachedInjectors.set(n, s) } return this.cachedInjectors.get(n) } ngOnDestroy() { try { for (const n of this.cachedInjectors.values()) null !== n && n.destroy() } finally { this.cachedInjectors.clear() } } } return (e = t).\u0275prov = G({ token: e, providedIn: "environment", factory: () => new e(L(zn)) }), t })(); function Zn(e) { e.getStandaloneInjector = t => t.get(px).getOrCreateStandaloneInjector(e) } function Lx() { return this._results[Symbol.iterator]() } class lh { get changes() { return this._changes || (this._changes = new Y) } constructor(t = !1) { this._emitDistinctChangesOnly = t, this.dirty = !0, this._results = [], this._changesDetected = !1, this._changes = null, this.length = 0, this.first = void 0, this.last = void 0; const i = lh.prototype; i[Symbol.iterator] || (i[Symbol.iterator] = Lx) } get(t) { return this._results[t] } map(t) { return this._results.map(t) } filter(t) { return this._results.filter(t) } find(t) { return this._results.find(t) } reduce(t, i) { return this._results.reduce(t, i) } forEach(t) { this._results.forEach(t) } some(t) { return this._results.some(t) } toArray() { return this._results.slice() } toString() { return this._results.toString() } reset(t, i) { const n = this; n.dirty = !1; const r = function Gn(e) { return e.flat(Number.POSITIVE_INFINITY) }(t); (this._changesDetected = !function NT(e, t, i) { if (e.length !== t.length) return !1; for (let n = 0; n < e.length; n++) { let r = e[n], s = t[n]; if (i && (r = i(r), s = i(s)), s !== r) return !1 } return !0 }(n._results, r, i)) && (n._results = r, n.length = r.length, n.last = r[this.length - 1], n.first = r[0]) } notifyOnChanges() { this._changes && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.emit(this) } setDirty() { this.dirty = !0 } destroy() { this.changes.complete(), this.changes.unsubscribe() } } function Vx(e, t, i, n = !0) { const r = t[H]; if (function vM(e, t, i, n) { const r = Ht + n, s = i.length; n > 0 && (i[r - 1][ni] = t), n < s - Ht ? (t[ni] = i[r], $_(i, Ht + n, t)) : (i.push(t), t[ni] = null), t[tt] = i; const o = t[Ao]; null !== o && i !== o && function yM(e, t) { const i = e[ms]; t[yt] !== t[tt][tt][yt] && (e[Qg] = !0), null === i ? e[ms] = [t] : i.push(t) }(o, t); const a = t[wi]; null !== a && a.insertView(e), t[ie] |= 128 }(r, t, e, i), n) { const s = Ud(i, e), o = t[ne], a = Fl(o, e[Ci]); null !== a && function gM(e, t, i, n, r, s) { n[ht] = r, n[Yt] = t, Go(e, n, i, 1, r, s) }(r, e[Yt], o, t, a, s) } } let nt = (() => { class t { } return t.__NG_ELEMENT_ID__ = jx, t })(); const Hx = nt, Ux = class extends Hx { constructor(t, i, n) { super(), this._declarationLView = t, this._declarationTContainer = i, this.elementRef = n } get ssrId() { return this._declarationTContainer.tView?.ssrId || null } createEmbeddedView(t, i) { return this.createEmbeddedViewImpl(t, i) } createEmbeddedViewImpl(t, i, n) { const r = function Bx(e, t, i, n) { const r = t.tView, a = nc(e, r, i, 4096 & e[ie] ? 4096 : 16, null, t, null, null, null, n?.injector ?? null, n?.hydrationInfo ?? null); a[Ao] = e[t.index]; const c = e[wi]; return null !== c && (a[wi] = c.createEmbeddedView(r)), kf(r, a, i), a }(this._declarationLView, this._declarationTContainer, t, { injector: i, hydrationInfo: n }); return new Xo(r) } }; function jx() { return bc(Ut(), A()) } function bc(e, t) { return 4 & e.type ? new Ux(t, e, Vs(e, t)) : null } let Cn = (() => { class t { } return t.__NG_ELEMENT_ID__ = Yx, t })(); function Yx() { return J0(Ut(), A()) } const Zx = Cn, Y0 = class extends Zx { constructor(t, i, n) { super(), this._lContainer = t, this._hostTNode = i, this._hostLView = n } get element() { return Vs(this._hostTNode, this._hostLView) } get injector() { return new un(this._hostTNode, this._hostLView) } get parentInjector() { const t = wl(this._hostTNode, this._hostLView); if (vd(t)) { const i = ko(t, this._hostLView), n = Fo(t); return new un(i[H].data[n + 8], i) } return new un(null, this._hostLView) } clear() { for (; this.length > 0;)this.remove(this.length - 1) } get(t) { const i = Z0(this._lContainer); return null !== i && i[t] || null } get length() { return this._lContainer.length - Ht } createEmbeddedView(t, i, n) { let r, s; "number" == typeof n ? r = n : null != n && (r = n.index, s = n.injector); const a = t.createEmbeddedViewImpl(i || {}, s, null); return this.insertImpl(a, r, false), a } createComponent(t, i, n, r, s) { const o = t && !function Bo(e) { return "function" == typeof e }(t); let a; if (o) a = i; else { const b = i || {}; a = b.index, n = b.injector, r = b.projectableNodes, s = b.environmentInjector || b.ngModuleRef } const l = o ? t : new ea(me(t)), c = n || this.parentInjector; if (!s && null == l.ngModule) { const D = (o ? c : this.parentInjector).get(zn, null); D && (s = D) } me(l.componentType ?? {}); const _ = l.create(c, r, null, s); return this.insertImpl(_.hostView, a, false), _ } insert(t, i) { return this.insertImpl(t, i, !1) } insertImpl(t, i, n) { const r = t._lView; if (function $S(e) { return rn(e[tt]) }(r)) { const l = this.indexOf(t); if (-1 !== l) this.detach(l); else { const c = r[tt], u = new Y0(c, c[Yt], c[tt]); u.detach(u.indexOf(t)) } } const o = this._adjustIndex(i), a = this._lContainer; return Vx(a, r, o, !n), t.attachToViewContainerRef(), $_(ch(a), o, t), t } move(t, i) { return this.insert(t, i) } indexOf(t) { const i = Z0(this._lContainer); return null !== i ? i.indexOf(t) : -1 } remove(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); n && (El(ch(this._lContainer), i), Ld(n[H], n)) } detach(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); return n && null != El(ch(this._lContainer), i) ? new Xo(n) : null } _adjustIndex(t, i = 0) { return t ?? this.length + i } }; function Z0(e) { return e[8] } function ch(e) { return e[8] || (e[8] = []) } function J0(e, t) { let i; const n = t[e.index]; return rn(n) ? i = n : (i = Av(n, t, null, e), t[e.index] = i, ic(t, i)), Q0(i, t, e, n), new Y0(i, e, t) } let Q0 = function K0(e, t, i, n) { if (e[Ci]) return; let r; r = 8 & i.type ? We(n) : function Jx(e, t) { const i = e[ne], n = i.createComment(""), r = yn(t, e); return Mr(i, Fl(i, r), n, function CM(e, t) { return e.nextSibling(t) }(i, r), !1), n }(t, i), e[Ci] = r }; class uh { constructor(t) { this.queryList = t, this.matches = null } clone() { return new uh(this.queryList) } setDirty() { this.queryList.setDirty() } } class dh { constructor(t = []) { this.queries = t } createEmbeddedView(t) { const i = t.queries; if (null !== i) { const n = null !== t.contentQueries ? t.contentQueries[0] : i.length, r = []; for (let s = 0; s < n; s++) { const o = i.getByIndex(s); r.push(this.queries[o.indexInDeclarationView].clone()) } return new dh(r) } return null } insertView(t) { this.dirtyQueriesWithMatches(t) } detachView(t) { this.dirtyQueriesWithMatches(t) } dirtyQueriesWithMatches(t) { for (let i = 0; i < this.queries.length; i++)null !== i1(t, i).matches && this.queries[i].setDirty() } } class X0 { constructor(t, i, n = null) { this.predicate = t, this.flags = i, this.read = n } } class fh { constructor(t = []) { this.queries = t } elementStart(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].elementStart(t, i) } elementEnd(t) { for (let i = 0; i < this.queries.length; i++)this.queries[i].elementEnd(t) } embeddedTView(t) { let i = null; for (let n = 0; n < this.length; n++) { const r = null !== i ? i.length : 0, s = this.getByIndex(n).embeddedTView(t, r); s && (s.indexInDeclarationView = n, null !== i ? i.push(s) : i = [s]) } return null !== i ? new fh(i) : null } template(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].template(t, i) } getByIndex(t) { return this.queries[t] } get length() { return this.queries.length } track(t) { this.queries.push(t) } } class hh { constructor(t, i = -1) { this.metadata = t, this.matches = null, this.indexInDeclarationView = -1, this.crossesNgTemplate = !1, this._appliesToNextNode = !0, this._declarationNodeIndex = i } elementStart(t, i) { this.isApplyingToNode(i) && this.matchTNode(t, i) } elementEnd(t) { this._declarationNodeIndex === t.index && (this._appliesToNextNode = !1) } template(t, i) { this.elementStart(t, i) } embeddedTView(t, i) { return this.isApplyingToNode(t) ? (this.crossesNgTemplate = !0, this.addMatch(-t.index, i), new hh(this.metadata)) : null } isApplyingToNode(t) { if (this._appliesToNextNode && 1 != (1 & this.metadata.flags)) { const i = this._declarationNodeIndex; let n = t.parent; for (; null !== n && 8 & n.type && n.index !== i;)n = n.parent; return i === (null !== n ? n.index : -1) } return this._appliesToNextNode } matchTNode(t, i) { const n = this.metadata.predicate; if (Array.isArray(n)) for (let r = 0; r < n.length; r++) { const s = n[r]; this.matchTNodeWithReadOption(t, i, Xx(i, s)), this.matchTNodeWithReadOption(t, i, Cl(i, t, s, !1, !1)) } else n === nt ? 4 & i.type && this.matchTNodeWithReadOption(t, i, -1) : this.matchTNodeWithReadOption(t, i, Cl(i, t, n, !1, !1)) } matchTNodeWithReadOption(t, i, n) { if (null !== n) { const r = this.metadata.read; if (null !== r) if (r === Fe || r === Cn || r === nt && 4 & i.type) this.addMatch(i.index, -2); else { const s = Cl(i, t, r, !1, !1); null !== s && this.addMatch(i.index, s) } else this.addMatch(i.index, n) } } addMatch(t, i) { null === this.matches ? this.matches = [t, i] : this.matches.push(t, i) } } function Xx(e, t) { const i = e.localNames; if (null !== i) for (let n = 0; n < i.length; n += 2)if (i[n] === t) return i[n + 1]; return null } function tR(e, t, i, n) { return -1 === i ? function eR(e, t) { return 11 & e.type ? Vs(e, t) : 4 & e.type ? bc(e, t) : null }(t, e) : -2 === i ? function nR(e, t, i) { return i === Fe ? Vs(t, e) : i === nt ? bc(t, e) : i === Cn ? J0(t, e) : void 0 }(e, t, n) : Tr(e, e[H], i, t) } function e1(e, t, i, n) { const r = t[wi].queries[n]; if (null === r.matches) { const s = e.data, o = i.matches, a = []; for (let l = 0; l < o.length; l += 2) { const c = o[l]; a.push(c < 0 ? null : tR(t, s[c], o[l + 1], i.metadata.read)) } r.matches = a } return r.matches } function ph(e, t, i, n) { const r = e.queries.getByIndex(i), s = r.matches; if (null !== s) { const o = e1(e, t, r, i); for (let a = 0; a < s.length; a += 2) { const l = s[a]; if (l > 0) n.push(o[a / 2]); else { const c = s[a + 1], u = t[-l]; for (let h = Ht; h < u.length; h++) { const g = u[h]; g[Ao] === g[tt] && ph(g[H], g, c, n) } if (null !== u[ms]) { const h = u[ms]; for (let g = 0; g < h.length; g++) { const _ = h[g]; ph(_[H], _, c, n) } } } } } return n } function se(e) { const t = A(), i = ve(), n = w_(); hd(n + 1); const r = i1(i, n); if (e.dirty && function US(e) { return 4 == (4 & e[ie]) }(t) === (2 == (2 & r.metadata.flags))) { if (null === r.matches) e.reset([]); else { const s = r.crossesNgTemplate ? ph(i, t, n, []) : e1(i, t, r, n); e.reset(s, CI), e.notifyOnChanges() } return !0 } return !1 } function at(e, t, i) { const n = ve(); n.firstCreatePass && (n1(n, new X0(e, t, i), -1), 2 == (2 & t) && (n.staticViewQueries = !0)), t1(n, A(), t) } function pt(e, t, i, n) { const r = ve(); if (r.firstCreatePass) { const s = Ut(); n1(r, new X0(t, i, n), s.index), function rR(e, t) { const i = e.contentQueries || (e.contentQueries = []); t !== (i.length ? i[i.length - 1] : -1) && i.push(e.queries.length - 1, t) }(r, e), 2 == (2 & i) && (r.staticContentQueries = !0) } t1(r, A(), i) } function oe() { return function iR(e, t) { return e[wi].queries[t].queryList }(A(), w_()) } function t1(e, t, i) { const n = new lh(4 == (4 & i)); (function tN(e, t, i, n) { const r = xv(t); r.push(i), e.firstCreatePass && Rv(e).push(n, r.length - 1) })(e, t, n, n.destroy), null === t[wi] && (t[wi] = new dh), t[wi].queries.push(new uh(n)) } function n1(e, t, i) { null === e.queries && (e.queries = new fh), e.queries.track(new hh(t, i)) } function i1(e, t) { return e.queries.getByIndex(t) } function En(e, t) { return bc(e, t) } const D1 = new W("Application Initializer"); let yh = (() => { var e; class t { constructor() { this.initialized = !1, this.done = !1, this.donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r }), this.appInits = fe(D1, { optional: !0 }) ?? [] } runInitializers() { if (this.initialized) return; const n = []; for (const s of this.appInits) { const o = s(); if (fc(o)) n.push(o); else if (dy(o)) { const a = new Promise((l, c) => { o.subscribe({ complete: l, error: c }) }); n.push(a) } } const r = () => { this.done = !0, this.resolve() }; Promise.all(n).then(() => { r() }).catch(s => { this.reject(s) }), 0 === n.length && r(), this.initialized = !0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const oi = new W("LocaleId", { providedIn: "root", factory: () => fe(oi, ge.Optional | ge.SkipSelf) || function TR() { return typeof $localize < "u" && $localize.locale || eo }() }); let bh = (() => { var e; class t { constructor() { this.taskId = 0, this.pendingTasks = new Set, this.hasPendingTasks = new jE(!1) } add() { this.hasPendingTasks.next(!0); const n = this.taskId++; return this.pendingTasks.add(n), n } remove(n) { this.pendingTasks.delete(n), 0 === this.pendingTasks.size && this.hasPendingTasks.next(!1) } ngOnDestroy() { this.pendingTasks.clear(), this.hasPendingTasks.next(!1) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const S1 = new W(""), Ec = new W(""); let Sh, Ch = (() => { var e; class t { constructor(n, r, s) { this._ngZone = n, this.registry = r, this._pendingCount = 0, this._isZoneStable = !0, this._didWork = !1, this._callbacks = [], this.taskTrackingZone = null, Sh || (function ZR(e) { Sh = e }(s), s.addToWindow(r)), this._watchAngularEvents(), n.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: () => { Se.assertNotInAngularZone(), queueMicrotask(() => { 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()) queueMicrotask(() => { for (; 0 !== this._callbacks.length;) { let n = this._callbacks.pop(); clearTimeout(n.timeoutId), n.doneCb(this._didWork) } this._didWork = !1 }); else { let n = this.getPendingTasks(); this._callbacks = this._callbacks.filter(r => !r.updateCb || !r.updateCb(n) || (clearTimeout(r.timeoutId), !1)), this._didWork = !0 } } getPendingTasks() { return this.taskTrackingZone ? this.taskTrackingZone.macroTasks.map(n => ({ source: n.source, creationLocation: n.creationLocation, data: n.data })) : [] } addCallback(n, r, s) { let o = -1; r && r > 0 && (o = setTimeout(() => { this._callbacks = this._callbacks.filter(a => a.timeoutId !== o), n(this._didWork, this.getPendingTasks()) }, r)), this._callbacks.push({ doneCb: n, timeoutId: o, updateCb: s }) } whenStable(n, r, s) { if (s && !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(n, r, s), this._runCallbacksIfReady() } getPendingRequestCount() { return this._pendingCount } registerApplication(n) { this.registry.registerApplication(n, this) } unregisterApplication(n) { this.registry.unregisterApplication(n) } findProviders(n, r, s) { return [] } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Se), L(Eh), L(Ec)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(), Eh = (() => { var e; class t { constructor() { this._applications = new Map } registerApplication(n, r) { this._applications.set(n, r) } unregisterApplication(n) { this._applications.delete(n) } unregisterAllApplications() { this._applications.clear() } getTestability(n) { return this._applications.get(n) || null } getAllTestabilities() { return Array.from(this._applications.values()) } getAllRootElements() { return Array.from(this._applications.keys()) } findTestabilityInTree(n, r = !0) { return Sh?.findTestabilityInTree(this, n, r) ?? null } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(), lr = null; const T1 = new W("AllowMultipleToken"), Th = new W("PlatformDestroyListeners"), M1 = new W("appBootstrapListener"); function A1(e, t, i = []) { const n = `Platform: ${t}`, r = new W(n); return (s = []) => { let o = Mh(); if (!o || o.injector.get(T1, !1)) { const a = [...i, ...s, { provide: r, useValue: !0 }]; e ? e(a) : function KR(e) { if (lr && !lr.get(T1, !1)) throw new F(400, !1); (function I1() { !function xS(e) { i_ = e }(() => { throw new F(600, !1) }) })(), lr = e; const t = e.get(x1); (function N1(e) { e.get(Wm, null)?.forEach(i => i()) })(e) }(function O1(e = [], t) { return Jt.create({ name: t, providers: [{ provide: tf, useValue: "platform" }, { provide: Th, useValue: new Set([() => lr = null]) }, ...e] }) }(a, n)) } return function eP(e) { const t = Mh(); if (!t) throw new F(401, !1); return t }() } } function Mh() { return lr?.get(x1) ?? null } let x1 = (() => { var e; class t { constructor(n) { this._injector = n, this._modules = [], this._destroyListeners = [], this._destroyed = !1 } bootstrapModuleFactory(n, r) { const s = function tP(e = "zone.js", t) { return "noop" === e ? new BI : "zone.js" === e ? new Se(t) : e }(r?.ngZone, function R1(e) { return { enableLongStackTrace: !1, shouldCoalesceEventChangeDetection: e?.eventCoalescing ?? !1, shouldCoalesceRunChangeDetection: e?.runCoalescing ?? !1 } }({ eventCoalescing: r?.ngZoneEventCoalescing, runCoalescing: r?.ngZoneRunCoalescing })); return s.run(() => { const o = function fx(e, t, i) { return new rh(e, t, i) }(n.moduleType, this.injector, function B1(e) { return [{ provide: Se, useFactory: e }, { provide: Ul, multi: !0, useFactory: () => { const t = fe(iP, { optional: !0 }); return () => t.initialize() } }, { provide: L1, useFactory: nP }, { provide: av, useFactory: lv }] }(() => s)), a = o.injector.get(Ar, null); return s.runOutsideAngular(() => { const l = s.onError.subscribe({ next: c => { a.handleError(c) } }); o.onDestroy(() => { Sc(this._modules, o), l.unsubscribe() }) }), function P1(e, t, i) { try { const n = i(); return fc(n) ? n.catch(r => { throw t.runOutsideAngular(() => e.handleError(r)), r }) : n } catch (n) { throw t.runOutsideAngular(() => e.handleError(n)), n } }(a, s, () => { const l = o.injector.get(yh); return l.runInitializers(), l.donePromise.then(() => (function a0(e) { $n(e, "Expected localeId to be defined"), "string" == typeof e && (o0 = e.toLowerCase().replace(/_/g, "-")) }(o.injector.get(oi, eo) || eo), this._moduleDoBootstrap(o), o)) }) }) } bootstrapModule(n, r = []) { const s = F1({}, r); return function JR(e, t, i) { const n = new sh(i); return Promise.resolve(n) }(0, 0, n).then(o => this.bootstrapModuleFactory(o, s)) } _moduleDoBootstrap(n) { const r = n.injector.get(kr); if (n._bootstrapComponents.length > 0) n._bootstrapComponents.forEach(s => r.bootstrap(s)); else { if (!n.instance.ngDoBootstrap) throw new F(-403, !1); n.instance.ngDoBootstrap(r) } this._modules.push(n) } onDestroy(n) { this._destroyListeners.push(n) } get injector() { return this._injector } destroy() { if (this._destroyed) throw new F(404, !1); this._modules.slice().forEach(r => r.destroy()), this._destroyListeners.forEach(r => r()); const n = this._injector.get(Th, null); n && (n.forEach(r => r()), n.clear()), this._destroyed = !0 } get destroyed() { return this._destroyed } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(); function F1(e, t) { return Array.isArray(t) ? t.reduce(F1, e) : { ...e, ...t } } let kr = (() => { var e; class t { constructor() { this._bootstrapListeners = [], this._runningTick = !1, this._destroyed = !1, this._destroyListeners = [], this._views = [], this.internalErrorHandler = fe(L1), this.zoneIsStable = fe(av), this.componentTypes = [], this.components = [], this.isStable = fe(bh).hasPendingTasks.pipe(Bu(n => n ? ds(!1) : this.zoneIsStable), function Tg(e, t = yi) { return e = e ?? $E, mt((i, n) => { let r, s = !0; i.subscribe(ft(n, o => { const a = t(o); (s || !e(r, a)) && (s = !1, r = a, n.next(o)) })) }) }(), Sg()), this._injector = fe(zn) } get destroyed() { return this._destroyed } get injector() { return this._injector } bootstrap(n, r) { const s = n instanceof Qm; if (!this._injector.get(yh).done) throw !s && function Mo(e) { const t = me(e) || Vt(e) || nn(e); return null !== t && t.standalone }(n), new F(405, !1); let a; a = s ? n : this._injector.get(Kl).resolveComponentFactory(n), this.componentTypes.push(a.componentType); const l = function QR(e) { return e.isBoundToModule }(a) ? void 0 : this._injector.get(Fr), u = a.create(Jt.NULL, [], r || a.selector, l), h = u.location.nativeElement, g = u.injector.get(S1, null); return g?.registerApplication(h), u.onDestroy(() => { this.detachView(u.hostView), Sc(this.components, u), g?.unregisterApplication(h) }), this._loadComponent(u), u } tick() { if (this._runningTick) throw new F(101, !1); try { this._runningTick = !0; for (let n of this._views) n.detectChanges() } catch (n) { this.internalErrorHandler(n) } finally { this._runningTick = !1 } } attachView(n) { const r = n; this._views.push(r), r.attachToAppRef(this) } detachView(n) { const r = n; Sc(this._views, r), r.detachFromAppRef() } _loadComponent(n) { this.attachView(n.hostView), this.tick(), this.components.push(n); const r = this._injector.get(M1, []); r.push(...this._bootstrapListeners), r.forEach(s => s(n)) } ngOnDestroy() { if (!this._destroyed) try { this._destroyListeners.forEach(n => n()), this._views.slice().forEach(n => n.destroy()) } finally { this._destroyed = !0, this._views = [], this._bootstrapListeners = [], this._destroyListeners = [] } } onDestroy(n) { return this._destroyListeners.push(n), () => Sc(this._destroyListeners, n) } destroy() { if (this._destroyed) throw new F(406, !1); const n = this._injector; n.destroy && !n.destroyed && n.destroy() } get viewCount() { return this._views.length } warnIfDestroyed() { } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function Sc(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } const L1 = new W("", { providedIn: "root", factory: () => fe(Ar).handleError.bind(void 0) }); function nP() { const e = fe(Se), t = fe(Ar); return i => e.runOutsideAngular(() => t.handleError(i)) } let iP = (() => { var e; class t { constructor() { this.zone = fe(Se), this.applicationRef = fe(kr) } initialize() { this._onMicrotaskEmptySubscription || (this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({ next: () => { this.zone.run(() => { this.applicationRef.tick() }) } })) } ngOnDestroy() { this._onMicrotaskEmptySubscription?.unsubscribe() } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); let gt = (() => { class t { } return t.__NG_ELEMENT_ID__ = sP, t })(); function sP(e) { return function oP(e, t, i) { if (Cr(e) && !i) { const n = On(e.index, t); return new Xo(n, n) } return 47 & e.type ? new Xo(t[yt], t) : null }(Ut(), A(), 16 == (16 & e)) } class j1 { constructor() { } supports(t) { return ac(t) } create(t) { return new fP(t) } } const dP = (e, t) => t; class fP { constructor(t) { 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 = t || dP } forEachItem(t) { let i; for (i = this._itHead; null !== i; i = i._next)t(i) } forEachOperation(t) { let i = this._itHead, n = this._removalsHead, r = 0, s = null; for (; i || n;) { const o = !n || i && i.currentIndex < G1(n, r, s) ? i : n, a = G1(o, r, s), l = o.currentIndex; if (o === n) r--, n = n._nextRemoved; else if (i = i._next, null == o.previousIndex) r++; else { s || (s = []); const c = a - r, u = l - r; if (c != u) { for (let g = 0; g < c; g++) { const _ = g < s.length ? s[g] : s[g] = 0, y = _ + g; u <= y && y < c && (s[g] = _ + 1) } s[o.previousIndex] = u - c } } a !== l && t(o, a, l) } } forEachPreviousItem(t) { let i; for (i = this._previousItHead; null !== i; i = i._nextPrevious)t(i) } forEachAddedItem(t) { let i; for (i = this._additionsHead; null !== i; i = i._nextAdded)t(i) } forEachMovedItem(t) { let i; for (i = this._movesHead; null !== i; i = i._nextMoved)t(i) } forEachRemovedItem(t) { let i; for (i = this._removalsHead; null !== i; i = i._nextRemoved)t(i) } forEachIdentityChange(t) { let i; for (i = this._identityChangesHead; null !== i; i = i._nextIdentityChange)t(i) } diff(t) { if (null == t && (t = []), !ac(t)) throw new F(900, !1); return this.check(t) ? this : null } onDestroy() { } check(t) { this._reset(); let r, s, o, i = this._itHead, n = !1; if (Array.isArray(t)) { this.length = t.length; for (let a = 0; a < this.length; a++)s = t[a], o = this._trackByFn(a, s), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, s, o, a)), Object.is(i.item, s) || this._addIdentityChange(i, s)) : (i = this._mismatch(i, s, o, a), n = !0), i = i._next } else r = 0, function qN(e, t) { if (Array.isArray(e)) for (let i = 0; i < e.length; i++)t(e[i]); else { const i = e[Symbol.iterator](); let n; for (; !(n = i.next()).done;)t(n.value) } }(t, a => { o = this._trackByFn(r, a), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, a, o, r)), Object.is(i.item, a) || this._addIdentityChange(i, a)) : (i = this._mismatch(i, a, o, r), n = !0), i = i._next, r++ }), this.length = r; return this._truncate(i), this.collection = t, this.isDirty } get isDirty() { return null !== this._additionsHead || null !== this._movesHead || null !== this._removalsHead || null !== this._identityChangesHead } _reset() { if (this.isDirty) { let t; for (t = this._previousItHead = this._itHead; null !== t; t = t._next)t._nextPrevious = t._next; for (t = this._additionsHead; null !== t; t = t._nextAdded)t.previousIndex = t.currentIndex; for (this._additionsHead = this._additionsTail = null, t = this._movesHead; null !== t; t = t._nextMoved)t.previousIndex = t.currentIndex; this._movesHead = this._movesTail = null, this._removalsHead = this._removalsTail = null, this._identityChangesHead = this._identityChangesTail = null } } _mismatch(t, i, n, r) { let s; return null === t ? s = this._itTail : (s = t._prev, this._remove(t)), null !== (t = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._reinsertAfter(t, s, r)) : null !== (t = null === this._linkedRecords ? null : this._linkedRecords.get(n, r)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._moveAfter(t, s, r)) : t = this._addAfter(new hP(i, n), s, r), t } _verifyReinsertion(t, i, n, r) { let s = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null); return null !== s ? t = this._reinsertAfter(s, t._prev, r) : t.currentIndex != r && (t.currentIndex = r, this._addToMoves(t, r)), t } _truncate(t) { for (; null !== t;) { const i = t._next; this._addToRemovals(this._unlink(t)), t = i } 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(t, i, n) { null !== this._unlinkedRecords && this._unlinkedRecords.remove(t); const r = t._prevRemoved, s = t._nextRemoved; return null === r ? this._removalsHead = s : r._nextRemoved = s, null === s ? this._removalsTail = r : s._prevRemoved = r, this._insertAfter(t, i, n), this._addToMoves(t, n), t } _moveAfter(t, i, n) { return this._unlink(t), this._insertAfter(t, i, n), this._addToMoves(t, n), t } _addAfter(t, i, n) { return this._insertAfter(t, i, n), this._additionsTail = null === this._additionsTail ? this._additionsHead = t : this._additionsTail._nextAdded = t, t } _insertAfter(t, i, n) { const r = null === i ? this._itHead : i._next; return t._next = r, t._prev = i, null === r ? this._itTail = t : r._prev = t, null === i ? this._itHead = t : i._next = t, null === this._linkedRecords && (this._linkedRecords = new $1), this._linkedRecords.put(t), t.currentIndex = n, t } _remove(t) { return this._addToRemovals(this._unlink(t)) } _unlink(t) { null !== this._linkedRecords && this._linkedRecords.remove(t); const i = t._prev, n = t._next; return null === i ? this._itHead = n : i._next = n, null === n ? this._itTail = i : n._prev = i, t } _addToMoves(t, i) { return t.previousIndex === i || (this._movesTail = null === this._movesTail ? this._movesHead = t : this._movesTail._nextMoved = t), t } _addToRemovals(t) { return null === this._unlinkedRecords && (this._unlinkedRecords = new $1), this._unlinkedRecords.put(t), t.currentIndex = null, t._nextRemoved = null, null === this._removalsTail ? (this._removalsTail = this._removalsHead = t, t._prevRemoved = null) : (t._prevRemoved = this._removalsTail, this._removalsTail = this._removalsTail._nextRemoved = t), t } _addIdentityChange(t, i) { return t.item = i, this._identityChangesTail = null === this._identityChangesTail ? this._identityChangesHead = t : this._identityChangesTail._nextIdentityChange = t, t } } class hP { constructor(t, i) { this.item = t, this.trackById = i, 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 pP { constructor() { this._head = null, this._tail = null } add(t) { null === this._head ? (this._head = this._tail = t, t._nextDup = null, t._prevDup = null) : (this._tail._nextDup = t, t._prevDup = this._tail, t._nextDup = null, this._tail = t) } get(t, i) { let n; for (n = this._head; null !== n; n = n._nextDup)if ((null === i || i <= n.currentIndex) && Object.is(n.trackById, t)) return n; return null } remove(t) { const i = t._prevDup, n = t._nextDup; return null === i ? this._head = n : i._nextDup = n, null === n ? this._tail = i : n._prevDup = i, null === this._head } } class $1 { constructor() { this.map = new Map } put(t) { const i = t.trackById; let n = this.map.get(i); n || (n = new pP, this.map.set(i, n)), n.add(t) } get(t, i) { const r = this.map.get(t); return r ? r.get(t, i) : null } remove(t) { const i = t.trackById; return this.map.get(i).remove(t) && this.map.delete(i), t } get isEmpty() { return 0 === this.map.size } clear() { this.map.clear() } } function G1(e, t, i) { const n = e.previousIndex; if (null === n) return n; let r = 0; return i && n < i.length && (r = i[n]), n + t + r } function W1() { return new Ic([new j1]) } let Ic = (() => { var e; class t { constructor(n) { this.factories = n } static create(n, r) { if (null != r) { const s = r.factories.slice(); n = n.concat(s) } return new t(n) } static extend(n) { return { provide: t, useFactory: r => t.create(n, r || W1()), deps: [[t, new Md, new Td]] } } find(n) { const r = this.factories.find(s => s.supports(n)); if (null != r) return r; throw new F(901, !1) } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: W1 }), t })(); const yP = A1(null, "core", []); let bP = (() => { var e; class t { constructor(n) { } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Ph(e, t) { const i = me(e), n = t.elementInjector || Gl(); return new ea(i).create(n, t.projectableNodes, t.hostElement, t.environmentInjector) } let Fh = null; function ba() { return Fh } class RP { } const Kt = new W("DocumentToken"); function fb(e, t) { t = encodeURIComponent(t); for (const i of e.split(";")) { const n = i.indexOf("="), [r, s] = -1 == n ? [i, ""] : [i.slice(0, n), i.slice(n + 1)]; if (r.trim() === t) return decodeURIComponent(s) } return null } class vF { constructor(t, i, n, r) { this.$implicit = t, this.ngForOf = i, this.index = n, this.count = r } 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 kn = (() => { var e; class t { set ngForOf(n) { this._ngForOf = n, this._ngForOfDirty = !0 } set ngForTrackBy(n) { this._trackByFn = n } get ngForTrackBy() { return this._trackByFn } constructor(n, r, s) { this._viewContainer = n, this._template = r, this._differs = s, this._ngForOf = null, this._ngForOfDirty = !0, this._differ = null } set ngForTemplate(n) { n && (this._template = n) } ngDoCheck() { if (this._ngForOfDirty) { this._ngForOfDirty = !1; const n = this._ngForOf; !this._differ && n && (this._differ = this._differs.find(n).create(this.ngForTrackBy)) } if (this._differ) { const n = this._differ.diff(this._ngForOf); n && this._applyChanges(n) } } _applyChanges(n) { const r = this._viewContainer; n.forEachOperation((s, o, a) => { if (null == s.previousIndex) r.createEmbeddedView(this._template, new vF(s.item, this._ngForOf, -1, -1), null === a ? void 0 : a); else if (null == a) r.remove(null === o ? void 0 : o); else if (null !== o) { const l = r.get(o); r.move(l, a), gb(l, s) } }); for (let s = 0, o = r.length; s < o; s++) { const l = r.get(s).context; l.index = s, l.count = o, l.ngForOf = this._ngForOf } n.forEachIdentityChange(s => { gb(r.get(s.currentIndex), s) }) } static ngTemplateContextGuard(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt), v(Ic)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngFor", "", "ngForOf", ""]], inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, standalone: !0 }), t })(); function gb(e, t) { e.context.$implicit = t.item } let Ln = (() => { var e; class t { constructor(n, r) { this._viewContainer = n, this._context = new yF, this._thenTemplateRef = null, this._elseTemplateRef = null, this._thenViewRef = null, this._elseViewRef = null, this._thenTemplateRef = r } set ngIf(n) { this._context.$implicit = this._context.ngIf = n, this._updateView() } set ngIfThen(n) { _b("ngIfThen", n), this._thenTemplateRef = n, this._thenViewRef = null, this._updateView() } set ngIfElse(n) { _b("ngIfElse", n), this._elseTemplateRef = n, 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(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngIf", ""]], inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, standalone: !0 }), t })(); class yF { constructor() { this.$implicit = null, this.ngIf = null } } function _b(e, t) { if (t && !t.createEmbeddedView) throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`) } let yb = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Db(e) { return "server" === e } class wb { } class vk extends RP { constructor() { super(...arguments), this.supportsDOMEvents = !0 } } class Xh extends vk { static makeCurrent() { !function xP(e) { Fh || (Fh = e) }(new Xh) } onAndCancel(t, i, n) { return t.addEventListener(i, n), () => { t.removeEventListener(i, n) } } dispatchEvent(t, i) { t.dispatchEvent(i) } remove(t) { t.parentNode && t.parentNode.removeChild(t) } createElement(t, i) { return (i = i || this.getDefaultDocument()).createElement(t) } createHtmlDocument() { return document.implementation.createHTMLDocument("fakeTitle") } getDefaultDocument() { return document } isElementNode(t) { return t.nodeType === Node.ELEMENT_NODE } isShadowRoot(t) { return t instanceof DocumentFragment } getGlobalEventTarget(t, i) { return "window" === i ? window : "document" === i ? t : "body" === i ? t.body : null } getBaseHref(t) { const i = function yk() { return Ea = Ea || document.querySelector("base"), Ea ? Ea.getAttribute("href") : null }(); return null == i ? null : function bk(e) { jc = jc || document.createElement("a"), jc.setAttribute("href", e); const t = jc.pathname; return "/" === t.charAt(0) ? t : `/${t}` }(i) } resetBaseElement() { Ea = null } getUserAgent() { return window.navigator.userAgent } getCookie(t) { return fb(document.cookie, t) } } let jc, Ea = null, wk = (() => { var e; class t { build() { return new XMLHttpRequest } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const ep = new W("EventManagerPlugins"); let Mb = (() => { var e; class t { constructor(n, r) { this._zone = r, this._eventNameToPlugin = new Map, n.forEach(s => { s.manager = this }), this._plugins = n.slice().reverse() } addEventListener(n, r, s) { return this._findPluginFor(r).addEventListener(n, r, s) } getZone() { return this._zone } _findPluginFor(n) { let r = this._eventNameToPlugin.get(n); if (r) return r; if (r = this._plugins.find(o => o.supports(n)), !r) throw new F(5101, !1); return this._eventNameToPlugin.set(n, r), r } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(ep), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class Ib { constructor(t) { this._doc = t } } const tp = "ng-app-id"; let Nb = (() => { var e; class t { constructor(n, r, s, o = {}) { this.doc = n, this.appId = r, this.nonce = s, this.platformId = o, this.styleRef = new Map, this.hostNodes = new Set, this.styleNodesInDOM = this.collectServerRenderedStyles(), this.platformIsServer = Db(o), this.resetHostNodes() } addStyles(n) { for (const r of n) 1 === this.changeUsageCount(r, 1) && this.onStyleAdded(r) } removeStyles(n) { for (const r of n) this.changeUsageCount(r, -1) <= 0 && this.onStyleRemoved(r) } ngOnDestroy() { const n = this.styleNodesInDOM; n && (n.forEach(r => r.remove()), n.clear()); for (const r of this.getAllStyles()) this.onStyleRemoved(r); this.resetHostNodes() } addHost(n) { this.hostNodes.add(n); for (const r of this.getAllStyles()) this.addStyleToHost(n, r) } removeHost(n) { this.hostNodes.delete(n) } getAllStyles() { return this.styleRef.keys() } onStyleAdded(n) { for (const r of this.hostNodes) this.addStyleToHost(r, n) } onStyleRemoved(n) { const r = this.styleRef; r.get(n)?.elements?.forEach(s => s.remove()), r.delete(n) } collectServerRenderedStyles() { const n = this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`); if (n?.length) { const r = new Map; return n.forEach(s => { null != s.textContent && r.set(s.textContent, s) }), r } return null } changeUsageCount(n, r) { const s = this.styleRef; if (s.has(n)) { const o = s.get(n); return o.usage += r, o.usage } return s.set(n, { usage: r, elements: [] }), r } getStyleElement(n, r) { const s = this.styleNodesInDOM, o = s?.get(r); if (o?.parentNode === n) return s.delete(r), o.removeAttribute(tp), o; { const a = this.doc.createElement("style"); return this.nonce && a.setAttribute("nonce", this.nonce), a.textContent = r, this.platformIsServer && a.setAttribute(tp, this.appId), a } } addStyleToHost(n, r) { const s = this.getStyleElement(n, r); n.appendChild(s); const o = this.styleRef, a = o.get(r)?.elements; a ? a.push(s) : o.set(r, { elements: [s], usage: 1 }) } resetHostNodes() { const n = this.hostNodes; n.clear(), n.add(this.doc.head) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Wl), L(qm, 8), L(Nr)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const np = { 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/" }, ip = /%COMP%/g, Tk = new W("RemoveStylesOnCompDestroy", { providedIn: "root", factory: () => !1 }); function Ob(e, t) { return t.map(i => i.replace(ip, e)) } let xb = (() => { var e; class t { constructor(n, r, s, o, a, l, c, u = null) { this.eventManager = n, this.sharedStylesHost = r, this.appId = s, this.removeStylesOnCompDestroy = o, this.doc = a, this.platformId = l, this.ngZone = c, this.nonce = u, this.rendererByCompId = new Map, this.platformIsServer = Db(l), this.defaultRenderer = new rp(n, a, c, this.platformIsServer) } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; this.platformIsServer && r.encapsulation === ei.ShadowDom && (r = { ...r, encapsulation: ei.Emulated }); const s = this.getOrCreateRenderer(n, r); return s instanceof Pb ? s.applyToHost(n) : s instanceof sp && s.applyStyles(), s } getOrCreateRenderer(n, r) { const s = this.rendererByCompId; let o = s.get(r.id); if (!o) { const a = this.doc, l = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, h = this.removeStylesOnCompDestroy, g = this.platformIsServer; switch (r.encapsulation) { case ei.Emulated: o = new Pb(c, u, r, this.appId, h, a, l, g); break; case ei.ShadowDom: return new Ak(c, u, n, r, a, l, this.nonce, g); default: o = new sp(c, u, r, h, a, l, g) }s.set(r.id, o) } return o } ngOnDestroy() { this.rendererByCompId.clear() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Mb), L(Nb), L(Wl), L(Tk), L(Kt), L(Nr), L(Se), L(qm)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class rp { constructor(t, i, n, r) { this.eventManager = t, this.doc = i, this.ngZone = n, this.platformIsServer = r, this.data = Object.create(null), this.destroyNode = null } destroy() { } createElement(t, i) { return i ? this.doc.createElementNS(np[i] || i, t) : this.doc.createElement(t) } createComment(t) { return this.doc.createComment(t) } createText(t) { return this.doc.createTextNode(t) } appendChild(t, i) { (Rb(t) ? t.content : t).appendChild(i) } insertBefore(t, i, n) { t && (Rb(t) ? t.content : t).insertBefore(i, n) } removeChild(t, i) { t && t.removeChild(i) } selectRootElement(t, i) { let n = "string" == typeof t ? this.doc.querySelector(t) : t; if (!n) throw new F(-5104, !1); return i || (n.textContent = ""), n } parentNode(t) { return t.parentNode } nextSibling(t) { return t.nextSibling } setAttribute(t, i, n, r) { if (r) { i = r + ":" + i; const s = np[r]; s ? t.setAttributeNS(s, i, n) : t.setAttribute(i, n) } else t.setAttribute(i, n) } removeAttribute(t, i, n) { if (n) { const r = np[n]; r ? t.removeAttributeNS(r, i) : t.removeAttribute(`${n}:${i}`) } else t.removeAttribute(i) } addClass(t, i) { t.classList.add(i) } removeClass(t, i) { t.classList.remove(i) } setStyle(t, i, n, r) { r & (sr.DashCase | sr.Important) ? t.style.setProperty(i, n, r & sr.Important ? "important" : "") : t.style[i] = n } removeStyle(t, i, n) { n & sr.DashCase ? t.style.removeProperty(i) : t.style[i] = "" } setProperty(t, i, n) { t[i] = n } setValue(t, i) { t.nodeValue = i } listen(t, i, n) { if ("string" == typeof t && !(t = ba().getGlobalEventTarget(this.doc, t))) throw new Error(`Unsupported event target ${t} for event ${i}`); return this.eventManager.addEventListener(t, i, this.decoratePreventDefault(n)) } decoratePreventDefault(t) { return i => { if ("__ngUnwrap__" === i) return t; !1 === (this.platformIsServer ? this.ngZone.runGuarded(() => t(i)) : t(i)) && i.preventDefault() } } } function Rb(e) { return "TEMPLATE" === e.tagName && void 0 !== e.content } class Ak extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, l), this.sharedStylesHost = i, this.hostEl = n, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost.addHost(this.shadowRoot); const c = Ob(r.id, r.styles); for (const u of c) { const h = document.createElement("style"); a && h.setAttribute("nonce", a), h.textContent = u, this.shadowRoot.appendChild(h) } } nodeOrShadowRoot(t) { return t === this.hostEl ? this.shadowRoot : t } appendChild(t, i) { return super.appendChild(this.nodeOrShadowRoot(t), i) } insertBefore(t, i, n) { return super.insertBefore(this.nodeOrShadowRoot(t), i, n) } removeChild(t, i) { return super.removeChild(this.nodeOrShadowRoot(t), i) } parentNode(t) { return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t))) } destroy() { this.sharedStylesHost.removeHost(this.shadowRoot) } } class sp extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, a), this.sharedStylesHost = i, this.removeStylesOnCompDestroy = r, this.styles = l ? Ob(l, n.styles) : n.styles } applyStyles() { this.sharedStylesHost.addStyles(this.styles) } destroy() { this.removeStylesOnCompDestroy && this.sharedStylesHost.removeStyles(this.styles) } } class Pb extends sp { constructor(t, i, n, r, s, o, a, l) { const c = r + "-" + n.id; super(t, i, n, s, o, a, l, c), this.contentAttr = function Mk(e) { return "_ngcontent-%COMP%".replace(ip, e) }(c), this.hostAttr = function Ik(e) { return "_nghost-%COMP%".replace(ip, e) }(c) } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, "") } createElement(t, i) { const n = super.createElement(t, i); return super.setAttribute(n, this.contentAttr, ""), n } } let Ok = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return !0 } addEventListener(n, r, s) { return n.addEventListener(r, s, !1), () => this.removeEventListener(n, r, s) } removeEventListener(n, r, s) { return n.removeEventListener(r, s) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Fb = ["alt", "control", "meta", "shift"], xk = { "\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" }, Rk = { alt: e => e.altKey, control: e => e.ctrlKey, meta: e => e.metaKey, shift: e => e.shiftKey }; let Pk = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return null != t.parseEventName(n) } addEventListener(n, r, s) { const o = t.parseEventName(r), a = t.eventCallback(o.fullKey, s, this.manager.getZone()); return this.manager.getZone().runOutsideAngular(() => ba().onAndCancel(n, o.domEventName, a)) } static parseEventName(n) { const r = n.toLowerCase().split("."), s = r.shift(); if (0 === r.length || "keydown" !== s && "keyup" !== s) return null; const o = t._normalizeKey(r.pop()); let a = "", l = r.indexOf("code"); if (l > -1 && (r.splice(l, 1), a = "code."), Fb.forEach(u => { const h = r.indexOf(u); h > -1 && (r.splice(h, 1), a += u + ".") }), a += o, 0 != r.length || 0 === o.length) return null; const c = {}; return c.domEventName = s, c.fullKey = a, c } static matchEventFullKeyCode(n, r) { let s = xk[n.key] || n.key, o = ""; return r.indexOf("code.") > -1 && (s = n.code, o = "code."), !(null == s || !s) && (s = s.toLowerCase(), " " === s ? s = "space" : "." === s && (s = "dot"), Fb.forEach(a => { a !== s && (0, Rk[a])(n) && (o += a + ".") }), o += s, o === r) } static eventCallback(n, r, s) { return o => { t.matchEventFullKeyCode(o, n) && s.runGuarded(() => r(o)) } } static _normalizeKey(n) { return "esc" === n ? "escape" : n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Bk = A1(yP, "browser", [{ provide: Nr, useValue: "browser" }, { provide: Wm, useValue: function Fk() { Xh.makeCurrent() }, multi: !0 }, { provide: Kt, useFactory: function Lk() { return function OM(e) { Gd = e }(document), document }, deps: [] }]), Vk = new W(""), Bb = [{ provide: Ec, useClass: class Dk { addToWindow(t) { je.getAngularTestability = (n, r = !0) => { const s = t.findTestabilityInTree(n, r); if (null == s) throw new F(5103, !1); return s }, je.getAllAngularTestabilities = () => t.getAllTestabilities(), je.getAllAngularRootElements = () => t.getAllRootElements(), je.frameworkStabilizers || (je.frameworkStabilizers = []), je.frameworkStabilizers.push(n => { const r = je.getAllAngularTestabilities(); let s = r.length, o = !1; const a = function (l) { o = o || l, s--, 0 == s && n(o) }; r.forEach(l => { l.whenStable(a) }) }) } findTestabilityInTree(t, i, n) { return null == i ? null : t.getTestability(i) ?? (n ? ba().isShadowRoot(i) ? this.findTestabilityInTree(t, i.host, !0) : this.findTestabilityInTree(t, i.parentElement, !0) : null) } }, deps: [] }, { provide: S1, useClass: Ch, deps: [Se, Eh, Ec] }, { provide: Ch, useClass: Ch, deps: [Se, Eh, Ec] }], Vb = [{ provide: tf, useValue: "root" }, { provide: Ar, useFactory: function kk() { return new Ar }, deps: [] }, { provide: ep, useClass: Ok, multi: !0, deps: [Kt, Se, Nr] }, { provide: ep, useClass: Pk, multi: !0, deps: [Kt] }, xb, Nb, Mb, { provide: mf, useExisting: xb }, { provide: wb, useClass: wk, deps: [] }, []]; let Hk = (() => { var e; class t { constructor(n) { } static withServerTransition(n) { return { ngModule: t, providers: [{ provide: Wl, useValue: n.appId }] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Vk, 12)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [...Vb, ...Bb], imports: [yb, bP] }), t })(); typeof window < "u" && window; let Xt = (() => { var e; class t { constructor() { this.elementLookup = [] } findElementIndex(n) { let r = -1; for (let s = 0; s < this.elementLookup.length; s++)this.elementLookup[s].id == n && (r = s); return r } addElementObject(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullTagHTML(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].object = r } addElementTagHTML(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullObject(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].tagHtml = r } addElementAll(n, r, s, o) { let a = this.elementLookup.find(l => { }); if (null == a) { let l = this.initializeElementLookupDtoAll(n, r, o, s); this.elementLookup.push(l) } else null == a.tagHtml && (a.tagHtml = s), null == a.object && (a.object = null) } getElement(n) { return this.elementLookup.find(s => s.id == n) ?? null } initializeElementLookupDtoAll(n, r, s, o) { return new ap(n, r, s, o) } initializeElementLookupDtoNullObject(n, r, s) { return new ap(n, null, r, s) } initializeElementLookupDtoNullTagHTML(n, r, s) { return new ap(n, s, r, null) } clearElementLookupDict() { this.elementLookup.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class ap { constructor(t, i, n, r) { this.id = t, this.object = i, this.element = n, this.tagHtml = r } } let $t = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function $b(e) { return mt((t, i) => { let s, n = null, r = !1; n = t.subscribe(ft(i, void 0, void 0, o => { s = Ft(e(o, $b(e)(t))), n ? (n.unsubscribe(), n = null, s.subscribe(i)) : r = !0 })), r && (n.unsubscribe(), n = null, s.subscribe(i)) }) } function ci(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => e.call(t, s, r++) && n.next(s))) }) } function Gb(e) { return mt((t, i) => { try { t.subscribe(i) } finally { i.add(e) } }) } class $c { } class Gc { } class Pi { constructor(t) { this.normalizedNames = new Map, this.lazyUpdate = null, t ? "string" == typeof t ? this.lazyInit = () => { this.headers = new Map, t.split("\n").forEach(i => { const n = i.indexOf(":"); if (n > 0) { const r = i.slice(0, n), s = r.toLowerCase(), o = i.slice(n + 1).trim(); this.maybeSetNormalizedName(r, s), this.headers.has(s) ? this.headers.get(s).push(o) : this.headers.set(s, [o]) } }) } : typeof Headers < "u" && t instanceof Headers ? (this.headers = new Map, t.forEach((i, n) => { this.setHeaderEntries(n, i) })) : this.lazyInit = () => { this.headers = new Map, Object.entries(t).forEach(([i, n]) => { this.setHeaderEntries(i, n) }) } : this.headers = new Map } has(t) { return this.init(), this.headers.has(t.toLowerCase()) } get(t) { this.init(); const i = this.headers.get(t.toLowerCase()); return i && i.length > 0 ? i[0] : null } keys() { return this.init(), Array.from(this.normalizedNames.values()) } getAll(t) { return this.init(), this.headers.get(t.toLowerCase()) || null } append(t, i) { return this.clone({ name: t, value: i, op: "a" }) } set(t, i) { return this.clone({ name: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ name: t, value: i, op: "d" }) } maybeSetNormalizedName(t, i) { this.normalizedNames.has(i) || this.normalizedNames.set(i, t) } init() { this.lazyInit && (this.lazyInit instanceof Pi ? this.copyFrom(this.lazyInit) : this.lazyInit(), this.lazyInit = null, this.lazyUpdate && (this.lazyUpdate.forEach(t => this.applyUpdate(t)), this.lazyUpdate = null)) } copyFrom(t) { t.init(), Array.from(t.headers.keys()).forEach(i => { this.headers.set(i, t.headers.get(i)), this.normalizedNames.set(i, t.normalizedNames.get(i)) }) } clone(t) { const i = new Pi; return i.lazyInit = this.lazyInit && this.lazyInit instanceof Pi ? this.lazyInit : this, i.lazyUpdate = (this.lazyUpdate || []).concat([t]), i } applyUpdate(t) { const i = t.name.toLowerCase(); switch (t.op) { case "a": case "s": let n = t.value; if ("string" == typeof n && (n = [n]), 0 === n.length) return; this.maybeSetNormalizedName(t.name, i); const r = ("a" === t.op ? this.headers.get(i) : void 0) || []; r.push(...n), this.headers.set(i, r); break; case "d": const s = t.value; if (s) { let o = this.headers.get(i); if (!o) return; o = o.filter(a => -1 === s.indexOf(a)), 0 === o.length ? (this.headers.delete(i), this.normalizedNames.delete(i)) : this.headers.set(i, o) } else this.headers.delete(i), this.normalizedNames.delete(i) } } setHeaderEntries(t, i) { const n = (Array.isArray(i) ? i : [i]).map(s => s.toString()), r = t.toLowerCase(); this.headers.set(r, n), this.maybeSetNormalizedName(t, r) } forEach(t) { this.init(), Array.from(this.normalizedNames.keys()).forEach(i => t(this.normalizedNames.get(i), this.headers.get(i))) } } class Zk { encodeKey(t) { return zb(t) } encodeValue(t) { return zb(t) } decodeKey(t) { return decodeURIComponent(t) } decodeValue(t) { return decodeURIComponent(t) } } const Qk = /%(\d[a-f0-9])/gi, Kk = { 40: "@", "3A": ":", 24: "$", "2C": ",", "3B": ";", "3D": "=", "3F": "?", "2F": "/" }; function zb(e) { return encodeURIComponent(e).replace(Qk, (t, i) => Kk[i] ?? t) } function zc(e) { return `${e}` } class ur { constructor(t = {}) { if (this.updates = null, this.cloneFrom = null, this.encoder = t.encoder || new Zk, t.fromString) { if (t.fromObject) throw new Error("Cannot specify both fromString and fromObject."); this.map = function Jk(e, t) { const i = new Map; return e.length > 0 && e.replace(/^\?/, "").split("&").forEach(r => { const s = r.indexOf("="), [o, a] = -1 == s ? [t.decodeKey(r), ""] : [t.decodeKey(r.slice(0, s)), t.decodeValue(r.slice(s + 1))], l = i.get(o) || []; l.push(a), i.set(o, l) }), i }(t.fromString, this.encoder) } else t.fromObject ? (this.map = new Map, Object.keys(t.fromObject).forEach(i => { const n = t.fromObject[i], r = Array.isArray(n) ? n.map(zc) : [zc(n)]; this.map.set(i, r) })) : this.map = null } has(t) { return this.init(), this.map.has(t) } get(t) { this.init(); const i = this.map.get(t); return i ? i[0] : null } getAll(t) { return this.init(), this.map.get(t) || null } keys() { return this.init(), Array.from(this.map.keys()) } append(t, i) { return this.clone({ param: t, value: i, op: "a" }) } appendAll(t) { const i = []; return Object.keys(t).forEach(n => { const r = t[n]; Array.isArray(r) ? r.forEach(s => { i.push({ param: n, value: s, op: "a" }) }) : i.push({ param: n, value: r, op: "a" }) }), this.clone(i) } set(t, i) { return this.clone({ param: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ param: t, value: i, op: "d" }) } toString() { return this.init(), this.keys().map(t => { const i = this.encoder.encodeKey(t); return this.map.get(t).map(n => i + "=" + this.encoder.encodeValue(n)).join("&") }).filter(t => "" !== t).join("&") } clone(t) { const i = new ur({ encoder: this.encoder }); return i.cloneFrom = this.cloneFrom || this, i.updates = (this.updates || []).concat(t), i } init() { null === this.map && (this.map = new Map), null !== this.cloneFrom && (this.cloneFrom.init(), this.cloneFrom.keys().forEach(t => this.map.set(t, this.cloneFrom.map.get(t))), this.updates.forEach(t => { switch (t.op) { case "a": case "s": const i = ("a" === t.op ? this.map.get(t.param) : void 0) || []; i.push(zc(t.value)), this.map.set(t.param, i); break; case "d": if (void 0 === t.value) { this.map.delete(t.param); break } { let n = this.map.get(t.param) || []; const r = n.indexOf(zc(t.value)); -1 !== r && n.splice(r, 1), n.length > 0 ? this.map.set(t.param, n) : this.map.delete(t.param) } } }), this.cloneFrom = this.updates = null) } } class Xk { constructor() { this.map = new Map } set(t, i) { return this.map.set(t, i), this } get(t) { return this.map.has(t) || this.map.set(t, t.defaultValue()), this.map.get(t) } delete(t) { return this.map.delete(t), this } has(t) { return this.map.has(t) } keys() { return this.map.keys() } } function Wb(e) { return typeof ArrayBuffer < "u" && e instanceof ArrayBuffer } function qb(e) { return typeof Blob < "u" && e instanceof Blob } function Yb(e) { return typeof FormData < "u" && e instanceof FormData } class Sa { constructor(t, i, n, r) { let s; if (this.url = i, this.body = null, this.reportProgress = !1, this.withCredentials = !1, this.responseType = "json", this.method = t.toUpperCase(), function e2(e) { switch (e) { case "DELETE": case "GET": case "HEAD": case "OPTIONS": case "JSONP": return !1; default: return !0 } }(this.method) || r ? (this.body = void 0 !== n ? n : null, s = r) : s = n, s && (this.reportProgress = !!s.reportProgress, this.withCredentials = !!s.withCredentials, s.responseType && (this.responseType = s.responseType), s.headers && (this.headers = s.headers), s.context && (this.context = s.context), s.params && (this.params = s.params)), this.headers || (this.headers = new Pi), this.context || (this.context = new Xk), this.params) { const o = this.params.toString(); if (0 === o.length) this.urlWithParams = i; else { const a = i.indexOf("?"); this.urlWithParams = i + (-1 === a ? "?" : a < i.length - 1 ? "&" : "") + o } } else this.params = new ur, this.urlWithParams = i } serializeBody() { return null === this.body ? null : Wb(this.body) || qb(this.body) || Yb(this.body) || function t2(e) { return typeof URLSearchParams < "u" && e instanceof URLSearchParams }(this.body) || "string" == typeof this.body ? this.body : this.body instanceof ur ? this.body.toString() : "object" == typeof this.body || "boolean" == typeof this.body || Array.isArray(this.body) ? JSON.stringify(this.body) : this.body.toString() } detectContentTypeHeader() { return null === this.body || Yb(this.body) ? null : qb(this.body) ? this.body.type || null : Wb(this.body) ? null : "string" == typeof this.body ? "text/plain" : this.body instanceof ur ? "application/x-www-form-urlencoded;charset=UTF-8" : "object" == typeof this.body || "number" == typeof this.body || "boolean" == typeof this.body ? "application/json" : null } clone(t = {}) { const i = t.method || this.method, n = t.url || this.url, r = t.responseType || this.responseType, s = void 0 !== t.body ? t.body : this.body, o = void 0 !== t.withCredentials ? t.withCredentials : this.withCredentials, a = void 0 !== t.reportProgress ? t.reportProgress : this.reportProgress; let l = t.headers || this.headers, c = t.params || this.params; const u = t.context ?? this.context; return void 0 !== t.setHeaders && (l = Object.keys(t.setHeaders).reduce((h, g) => h.set(g, t.setHeaders[g]), l)), t.setParams && (c = Object.keys(t.setParams).reduce((h, g) => h.set(g, t.setParams[g]), c)), new Sa(i, n, s, { params: c, headers: l, context: u, reportProgress: a, responseType: r, withCredentials: o }) } } var so = function (e) { return e[e.Sent = 0] = "Sent", e[e.UploadProgress = 1] = "UploadProgress", e[e.ResponseHeader = 2] = "ResponseHeader", e[e.DownloadProgress = 3] = "DownloadProgress", e[e.Response = 4] = "Response", e[e.User = 5] = "User", e }(so || {}); class lp { constructor(t, i = 200, n = "OK") { this.headers = t.headers || new Pi, this.status = void 0 !== t.status ? t.status : i, this.statusText = t.statusText || n, this.url = t.url || null, this.ok = this.status >= 200 && this.status < 300 } } class cp extends lp { constructor(t = {}) { super(t), this.type = so.ResponseHeader } clone(t = {}) { return new cp({ headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class oo extends lp { constructor(t = {}) { super(t), this.type = so.Response, this.body = void 0 !== t.body ? t.body : null } clone(t = {}) { return new oo({ body: void 0 !== t.body ? t.body : this.body, headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class Zb extends lp { constructor(t) { super(t, 0, "Unknown Error"), this.name = "HttpErrorResponse", this.ok = !1, this.message = this.status >= 200 && this.status < 300 ? `Http failure during parsing for ${t.url || "(unknown url)"}` : `Http failure response for ${t.url || "(unknown url)"}: ${t.status} ${t.statusText}`, this.error = t.error || null } } function up(e, t) { return { body: t, headers: e.headers, context: e.context, observe: e.observe, params: e.params, reportProgress: e.reportProgress, responseType: e.responseType, withCredentials: e.withCredentials } } let Wc = (() => { var e; class t { constructor(n) { this.handler = n } request(n, r, s = {}) { let o; if (n instanceof Sa) o = n; else { let c, u; c = s.headers instanceof Pi ? s.headers : new Pi(s.headers), s.params && (u = s.params instanceof ur ? s.params : new ur({ fromObject: s.params })), o = new Sa(n, r, void 0 !== s.body ? s.body : null, { headers: c, context: s.context, params: u, reportProgress: s.reportProgress, responseType: s.responseType || "json", withCredentials: s.withCredentials }) } const a = ds(o).pipe(function Yk(e, t) { return $(t) ? us(e, t, 1) : us(e, 1) }(c => this.handler.handle(c))); if (n instanceof Sa || "events" === s.observe) return a; const l = a.pipe(ci(c => c instanceof oo)); switch (s.observe || "body") { case "body": switch (o.responseType) { case "arraybuffer": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof ArrayBuffer)) throw new Error("Response is not an ArrayBuffer."); return c.body })); case "blob": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof Blob)) throw new Error("Response is not a Blob."); return c.body })); case "text": return l.pipe(Pt(c => { if (null !== c.body && "string" != typeof c.body) throw new Error("Response is not a string."); return c.body })); default: return l.pipe(Pt(c => c.body)) }case "response": return l; default: throw new Error(`Unreachable: unhandled observe type ${s.observe}}`) } } delete(n, r = {}) { return this.request("DELETE", n, r) } get(n, r = {}) { return this.request("GET", n, r) } head(n, r = {}) { return this.request("HEAD", n, r) } jsonp(n, r) { return this.request("JSONP", n, { params: (new ur).append(r, "JSONP_CALLBACK"), observe: "body", responseType: "json" }) } options(n, r = {}) { return this.request("OPTIONS", n, r) } patch(n, r, s = {}) { return this.request("PATCH", n, up(s, r)) } post(n, r, s = {}) { return this.request("POST", n, up(s, r)) } put(n, r, s = {}) { return this.request("PUT", n, up(s, r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L($c)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function Kb(e, t) { return t(e) } function i2(e, t) { return (i, n) => t.intercept(i, { handle: r => e(r, n) }) } const s2 = new W(""), Ta = new W(""), Xb = new W(""); function o2() { let e = null; return (t, i) => { null === e && (e = (fe(s2, { optional: !0 }) ?? []).reduceRight(i2, Kb)); const n = fe(bh), r = n.add(); return e(t, i).pipe(Gb(() => n.remove(r))) } } let eD = (() => { var e; class t extends $c { constructor(n, r) { super(), this.backend = n, this.injector = r, this.chain = null, this.pendingTasks = fe(bh) } handle(n) { if (null === this.chain) { const s = Array.from(new Set([...this.injector.get(Ta), ...this.injector.get(Xb, [])])); this.chain = s.reduceRight((o, a) => function r2(e, t, i) { return (n, r) => i.runInContext(() => t(n, s => e(s, r))) }(o, a, this.injector), Kb) } const r = this.pendingTasks.add(); return this.chain(n, s => this.backend.handle(s)).pipe(Gb(() => this.pendingTasks.remove(r))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Gc), L(zn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const u2 = /^\)\]\}',?\n/; let nD = (() => { var e; class t { constructor(n) { this.xhrFactory = n } handle(n) { if ("JSONP" === n.method) throw new F(-2800, !1); const r = this.xhrFactory; return (r.\u0275loadImpl ? wo(r.\u0275loadImpl()) : ds(null)).pipe(Bu(() => new ze(o => { const a = r.build(); if (a.open(n.method, n.urlWithParams), n.withCredentials && (a.withCredentials = !0), n.headers.forEach((D, T) => a.setRequestHeader(D, T.join(","))), n.headers.has("Accept") || a.setRequestHeader("Accept", "application/json, text/plain, */*"), !n.headers.has("Content-Type")) { const D = n.detectContentTypeHeader(); null !== D && a.setRequestHeader("Content-Type", D) } if (n.responseType) { const D = n.responseType.toLowerCase(); a.responseType = "json" !== D ? D : "text" } const l = n.serializeBody(); let c = null; const u = () => { if (null !== c) return c; const D = a.statusText || "OK", T = new Pi(a.getAllResponseHeaders()), C = function d2(e) { return "responseURL" in e && e.responseURL ? e.responseURL : /^X-Request-URL:/m.test(e.getAllResponseHeaders()) ? e.getResponseHeader("X-Request-URL") : null }(a) || n.url; return c = new cp({ headers: T, status: a.status, statusText: D, url: C }), c }, h = () => { let { headers: D, status: T, statusText: C, url: P } = u(), O = null; 204 !== T && (O = typeof a.response > "u" ? a.responseText : a.response), 0 === T && (T = O ? 200 : 0); let V = T >= 200 && T < 300; if ("json" === n.responseType && "string" == typeof O) { const J = O; O = O.replace(u2, ""); try { O = "" !== O ? JSON.parse(O) : null } catch (ue) { O = J, V && (V = !1, O = { error: ue, text: O }) } } V ? (o.next(new oo({ body: O, headers: D, status: T, statusText: C, url: P || void 0 })), o.complete()) : o.error(new Zb({ error: O, headers: D, status: T, statusText: C, url: P || void 0 })) }, g = D => { const { url: T } = u(), C = new Zb({ error: D, status: a.status || 0, statusText: a.statusText || "Unknown Error", url: T || void 0 }); o.error(C) }; let _ = !1; const y = D => { _ || (o.next(u()), _ = !0); let T = { type: so.DownloadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), "text" === n.responseType && a.responseText && (T.partialText = a.responseText), o.next(T) }, b = D => { let T = { type: so.UploadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), o.next(T) }; return a.addEventListener("load", h), a.addEventListener("error", g), a.addEventListener("timeout", g), a.addEventListener("abort", g), n.reportProgress && (a.addEventListener("progress", y), null !== l && a.upload && a.upload.addEventListener("progress", b)), a.send(l), o.next({ type: so.Sent }), () => { a.removeEventListener("error", g), a.removeEventListener("abort", g), a.removeEventListener("load", h), a.removeEventListener("timeout", g), n.reportProgress && (a.removeEventListener("progress", y), null !== l && a.upload && a.upload.removeEventListener("progress", b)), a.readyState !== a.DONE && a.abort() } }))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(wb)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const dp = new W("XSRF_ENABLED"), iD = new W("XSRF_COOKIE_NAME", { providedIn: "root", factory: () => "XSRF-TOKEN" }), rD = new W("XSRF_HEADER_NAME", { providedIn: "root", factory: () => "X-XSRF-TOKEN" }); class sD { } let p2 = (() => { var e; class t { constructor(n, r, s) { this.doc = n, this.platform = r, this.cookieName = s, this.lastCookieString = "", this.lastToken = null, this.parseCount = 0 } getToken() { if ("server" === this.platform) return null; const n = this.doc.cookie || ""; return n !== this.lastCookieString && (this.parseCount++, this.lastToken = fb(n, this.cookieName), this.lastCookieString = n), this.lastToken } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Nr), L(iD)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function g2(e, t) { const i = e.url.toLowerCase(); if (!fe(dp) || "GET" === e.method || "HEAD" === e.method || i.startsWith("http://") || i.startsWith("https://")) return t(e); const n = fe(sD).getToken(), r = fe(rD); return null != n && !e.headers.has(r) && (e = e.clone({ headers: e.headers.set(r, n) })), t(e) } var dr = function (e) { return e[e.Interceptors = 0] = "Interceptors", e[e.LegacyInterceptors = 1] = "LegacyInterceptors", e[e.CustomXsrfConfiguration = 2] = "CustomXsrfConfiguration", e[e.NoXsrfProtection = 3] = "NoXsrfProtection", e[e.JsonpSupport = 4] = "JsonpSupport", e[e.RequestsMadeViaParent = 5] = "RequestsMadeViaParent", e[e.Fetch = 6] = "Fetch", e }(dr || {}); function Br(e, t) { return { \u0275kind: e, \u0275providers: t } } function _2(...e) { const t = [Wc, nD, eD, { provide: $c, useExisting: eD }, { provide: Gc, useExisting: nD }, { provide: Ta, useValue: g2, multi: !0 }, { provide: dp, useValue: !0 }, { provide: sD, useClass: p2 }]; for (const i of e) t.push(...i.\u0275providers); return function Kd(e) { return { \u0275providers: e } }(t) } const oD = new W("LEGACY_INTERCEPTOR_FN"); let v2 = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [_2(Br(dr.LegacyInterceptors, [{ provide: oD, useFactory: o2 }, { provide: Ta, useExisting: oD, multi: !0 }]))] }), t })(), aD = (() => { var e; class t { constructor(n) { this.http = n } load() { return this.http.get("/assets/config.json").toPromise().then(r => (Object.assign(this, r), r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), lD = (() => { var e; class t { constructor() { this.modals = [] } registerModal(n, r) { this.modals.push({ key: n, modalRef: r }) } removeModalByKey(n) { let r = -1; for (let s = 0; s < this.modals.length; s++) { let o = this.modals[s]; if (null != o && o.key == n) { r = s; break } } return r >= 0 && delete this.modals[r], r } closeRemoveAllModals() { this.modals.forEach(n => { n.modalRef.close() }), this.modals.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Yc = (() => { var e; class t { constructor() { this.contextKeyVal = [] } addContext(n, r) { let s = !1; for (let o = 0; o < this.contextKeyVal.length; o++) { let a = this.contextKeyVal[o]; a.key == n && (a.value = r, s = !0) } 0 == s && this.contextKeyVal.push(new E2(n, r)) } getContext() { return this.contextKeyVal } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextKeyVal.length; s++)if (this.contextKeyVal[s].key == n) { r = s; break } return r >= 0 ? this.contextKeyVal[r].value : "" } clearContext() { this.contextKeyVal.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class E2 { constructor(t, i) { this.key = t, this.value = i } } let Ma = (() => { var e; class t { constructor(n) { this.elementLookupService = n, this.contextMenus = [] } registerContextMenu(n, r) { this.contextMenus.push({ key: n, contextMenu: r }), this.elementLookupService.addElementTagHTML(n, null, r) } removeContextMenuByKey(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 && delete this.contextMenus[r], r } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 ? this.contextMenus[r].contextMenu : null } removeAllContextMenus() { this.contextMenus.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Xt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), S2 = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.http = n, this.configService = r, this.modalRefService = s, this.elementLookupService = o, this.contextService = a, this.contextMenuService = l, this.backend_URI = "http://localhost:8000", this.backend_URI = r.serverUrl + ":" + r.serverPort } get() { this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let n = $t.injector.get(Bn); const r = this.http.get(this.backend_URI).pipe($b((s, o) => (console.error("Error occurred during the HTTP request:", s), n.postMessage("error connection"), function qk(e, t) { const i = $(e) ? e : () => e, n = r => r.error(i()); return new ze(t ? r => t.schedule(n, 0, r) : n) }(() => new Error(s.error))))); return r } post(n, r) { let s = []; r.forEach(a => s.push(Object.assign({}, a))), this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let o = null; return o = this.http.post(this.backend_URI + "/backend", s.length > 0 ? { function: n, context: s } : { function: n }), o } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc), L(aD), L(lD), L(Xt), L(Yc), L(Ma)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Bn = (() => { var e; class t { constructor(n, r, s) { this.httpService = n, this.httpClient = r, this.contextService = s, this.frontendJson = new ee, this.menuBar = new ee, this.messageLists = new ee, this.contextMenus = new ee, this.lastData = null, this.backend_URI = "http://localhost:8000" } initialGet() { let n = document.getElementById("loader"); n?.removeAttribute("hidden"), this.httpService.get().subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r), n?.setAttribute("hidden", "true") } }) } operationPost(n) { let r = this.contextService.getContext(), s = document.getElementById("loader"); s?.removeAttribute("hidden"), this.httpService.post(n.operation, r).subscribe({ next: o => { this.lastData = o, this.frontendJson.next(o), s?.setAttribute("hidden", "true") } }) } uncheckedPost(n) { this.httpClient.post(this.backend_URI + "/backend", n).subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r) } }) } detectCreateMenuBar(n) { "menu_bar" == n.type ? this.menuBar.next(n) : n.children.forEach(r => { this.detectCreateMenuBar(r) }) } getAllMessagesContextMenus(n, r, s) { "message" == n.type ? r.push(n) : "context_menu" == n.type ? s.push(n) : n.children.forEach(o => { this.getAllMessagesContextMenus(o, r, s) }) } postMessage(n, r = "danger") { let s = [this.getErrorMessage(n)]; this.messageLists.next(s) } getErrorMessage(n, r = "danger") { return { id: "client_error", type: "message", parent: "window", attributes: [{ id: "client_error", key: "message", value: n }, { id: "client_error", key: "title", value: "Error" }, { id: "client_error", key: "type", value: r }], when: [], children: [] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(S2), L(Wc), L(Yc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Tn = (() => { var e; class t { constructor() { } attrBackgroundColor(n, r) { n.style.backgroundColor = r.value } attrHeight(n, r) { n.style.height = r.value + "px" } attrWidth(n, r) { n.style.width = r.value + "px" } setBorderHelper(n, r) { let s = Number(this.findGetAttributeValue("border_width", r, "0")), o = this.findGetAttributeValue("border_color", r, "black"); this.setBorder(n, s, o, "solid") } setBorder(n, r, s, o) { r > 0 && (n.style.border = String(r) + "px " + o + " " + s) } addAttributes(n, r) { let s = [{ key: "background_color", value: this.attrBackgroundColor }, { key: "height", value: this.attrHeight }, { key: "width", value: this.attrWidth }]; r.forEach(o => { let a = s.findIndex(l => l.key == o.key); a >= 0 && s[a].value(n, o) }), this.setHover(n, r) } addGeneralAttributes(n, r) { this.setGrid(n, r), this.setBorderHelper(n, r) } setGrid(n, r) { let s = this.findAttribute("grid_row", r), o = this.findAttribute("grid_row_span", r), a = this.findAttribute("grid_column", r), l = this.findAttribute("grid_column_span", r), c = 1; null != o && (c = Number(o.value)); let u = 1; if (null != l && (u = Number(l.value)), null != s) { let h = Number(s.value) + 1; n.style.gridRow = String(h) + "/span " + String(c) } if (null != a) { let h = Number(a.value) + 1; n.style.gridColumn = String(h) + "/span " + String(u) } } setHover(n, r) { let s = this.findGetAttributeValue("on_hover", r, "false"), o = this.findGetAttributeValue("on_hover_background_color", r, "white"), a = this.findGetAttributeValue("on_hover_foreground_color", r, "black"), l = this.findGetAttributeValue("on_hover_border_color", r, "white"), c = this.findGetAttributeValue("background_color", r, "white"), u = this.findGetAttributeValue("foreground_color", r, "black"), h = Number(this.findGetAttributeValue("border_width", r, "0")), g = this.findGetAttributeValue("border_color", r, "black"), _ = "solid"; "true" == s && (n.onmouseenter = y => { n.style.backgroundColor = o, n.style.color = a, this.setBorder(n, h, l, _) }, n.onmouseleave = y => { n.style.backgroundColor = c, n.style.color = u, this.setBorder(n, h, g, _) }) } textAttributes(n, r) { } addClasses(n, r, s, o, a = "class") { s.forEach(function (c) { n.classList.contains(c) && n.classList.remove(c), n.classList.add(c) }); let l = !1; r.forEach(function (c) { if (c.key == a) { l = !0; let u = String(c.value); n.classList.add(u) } }), l || o.forEach(function (c) { n.classList.add(c) }) } setAttributesDirectly(n, r) { r.forEach(s => { n.style[s.key] = s.value }) } findAttribute(n, r) { let s = null, o = r.findIndex(a => a.key == n); return o >= 0 && (s = r[o]), s } findGetAttributeValue(n, r, s) { let o = s, a = r.findIndex(l => l.key == n); return a >= 0 && (o = r[a].value), o } setAbsoulteRelativePositions(n, r, s) { let o = Number(this.findGetAttributeValue("pos_x", s.attributes, "-1")), a = Number(this.findGetAttributeValue("pos_y", s.attributes, "-1")); o >= 0 && "absstatic" == n && (r.style.left = String(o) + "px"), o >= 0 && "relstatic" == n && (r.style.left = String(o) + "%"), a >= 0 && "absstatic" == n && (r.style.top = String(a) + "px"), a >= 0 && "relstatic" == n && (r.style.top = String(a) + "%"), (a >= 0 || o >= 0) && ("absstatic" == n || "relstatic" == n) && (r.style.position = "absolute"); let l = this.findAttribute("grid_row", s.attributes), c = this.findAttribute("grid_column", s.attributes); null == l && "grid" == n && (r.style.gridRow = "1"), null == c && "grid" == n && (r.style.gridColumn = "1") } setChildLayout(n, r) { let s = this.findAttribute("child_layout", r), o = this.findAttribute("flex_direction", r); if (null != s) { let a = s?.value; "grid" == a ? n.style.display = "grid" : "flex" == a ? (n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column") : ("absstatic" == a || "relstatic" == a) && (n.style.position = "relative", n.style.display = "flex") } else n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column" } setVisibility(n, r) { let s = this.findAttribute("visibility", r); null != s && ("hidden" == s.value || "collapse" == s.value ? n.style.visibility = "collapse" : ("shown" == s.value || "visible" == s.value) && (n.style.visibility = "visible")) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const T2 = ["child"]; function M2(e, t) { } let cD = (() => { var e; class t { constructor(n, r, s, o) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.children = [] } ngAfterViewInit() { if (null != this.element) { "modal" != this.element.type && this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findGetAttributeValue("child_layout", this.element.attributes, "flex"); this.element.children.forEach(r => { let s = this.childBearerService.bearChild(this.child, r, n); null != s && this.children.push(s) }), this.cd.detectChanges() } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-container"]], viewQuery: function (n, r) { if (1 & n && at(T2, 5, Cn), 2 & n) { let s; se(s = oe()) && (r.child = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["child", ""]], template: function (n, r) { 1 & n && B(0, M2, 0, 0, "ng-template", null, 0, En) } }), t })(); function uD(e) { let t = [], i = "", n = 0; for (let r = 0; r < e.length; r++) { let s = e.charAt(r); if ("(" == s) n += 1, i += s; else if (")" == s) { if (n -= 1, i += s, n < 0) { console.log("ERROR - BRACKE LEVEL LOWER THAN 0"); break } } else "," == s && 0 == n ? (t.push(i), i = "") : i += s } return t.push(i), t } function dD(e) { $t.injector.get(Ma).contextMenus.length > 0 && (e.preventDefault(), e.stopPropagation(), fD()) } function fD() { let e = $t.injector.get(Ma), t = !1; return e.contextMenus.forEach(i => { let n = document.getElementById(i.key); null != n && "block" == n.style.display && (n.style.display = "none", t = !0) }), t } function hD(e, t) { let i = $t.injector.get(Xt), n = e.operation; n = n.substring(1), n = n.slice(0, -1); let r = uD(n), s = r[0], o = r[1], a = r[2].replaceAll('"', ""), l = i.getElement(s); if (null != l) { if ("context_menu" == l.element.type && null != t) return void ("visibility" != o || "visible" != a ? console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " + s + "," + o + "," + a) : function I2(e, t) { if (t.preventDefault(), t.stopPropagation(), 1 != fD() && null != $t.injector.get(Ma).retrieveContextValue(e) && "pageX" in t && "pageY" in t && "number" == typeof t.pageX && "number" == typeof t.pageY) { let r = document.getElementById(e); null != r && ("block" == r.style.display ? r.style.display = "none" : (r.style.display = "block", r.style.left = t.pageX + "px", r.style.top = t.pageY + "px")) } }(s, t)); let c = l.element.attributes, u = !1; for (let h in c) c[h].key == o && (u = !0, c[h] = { id: s, key: o, value: a }); 0 == u && c.push({ id: s, key: o, value: a }), l.element.attributes = c, null != l.object && "setAttributes" in l.object && null != l.object.setAttributes && "function" == typeof l.object.setAttributes && l.object.setAttributes(c), null == l.object && l.element.type.startsWith("svg") && null != l.tagHtml && l.tagHtml.style.setProperty(o, a.replaceAll('"', "")), null != l.tagHtml && $t.injector.get(Su).setChildTagAttributes(l.tagHtml, l.element) } else console.log("COULD NOT FIND ELEMENT FOR when:" + s + "::" + o + "::" + a), console.log(e) } function pD(e) { let t = $t.injector.get(Yc), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, n = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/, r = i.exec(e); for (; null != r;) { let s = r[0], o = r[1] || r[2] || r[3], a = r[4] || r[5] || r[6], l = r[7] || r[8] || r[9], c = t.retrieveContextValue(o); if (null == c || "" == c) { if (null == l) throw new Error("Missing required value for " + o); c = l } let u = /^[0-9]*$/.test(c), h = n.test(c), g = c.length > 1 && '"' == c[0] && '"' == c.slice(-1), _ = !u && !h && !g; if (null != a) { if ("str" != a && "int" != a && "const" != a) throw new Error("Not a valid type " + a + ". Should be str, int or const."); if ("str" != a || g) { if ("int" == a && !u) throw new Error("Expected a number but got " + c) } else c = '"' + c + '"'; if ("const" == a && !h) throw new Error("Expected a constant that can be parsed to an atom, but got: " + c) } console.log("out"), null == a && _ && (c = '"' + c + '"'), e = e.replace(s, c), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, r = i.exec(e) } return e } function gD(e, t) { let i = $t.injector.get(Bn), n = e.operation; n = pD(n), e.operation = n, i.operationPost(e) } function _D(e, t) { let i = $t.injector.get(Yc), n = e.operation; if (n = pD(n), "(" == n[0]) { n = n.substring(1), n = n.slice(0, -1); let o = uD(n); if (o.length >= 2) { o.length > 2 && (console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"), console.log(e)); let a = o[0], l = o[1]; if (null != t) { let u = t.target; if (null != u && "value" in u && null != l.match(/_value/g) && "string" == typeof u.value) { if ("" == u.value) return void console.log("EVENT TARGET IS EMPTY"); l = l.replace("_value", u.value) } } for (let c = 2; c < o.length; c++)l = l + "," + o[c]; return void i.addContext(a, l) } } let r = "The value of context event should be a tuple of size 2, but got " + e.operation; console.error(r), $t.injector.get(Bn).postMessage(r, "warning") } let Fi = (() => { var e; class t { constructor(n) { this.frontendService = n, document.onclick = dD, document.oncontextmenu = dD } findCallback(n, r) { let s = null, o = r.findIndex(a => a.actionType == n); return o >= 0 && (s = r[o]), s } setCallbacks(n, r) { this.handleEvent(n, r, "click", "click"), this.handleEvent(n, r, "input", "input"), this.handleEvent(n, r, "right_click", "contextmenu"), this.handleEvent(n, r, "mouseenter", "mouseenter"), this.handleEvent(n, r, "mouseleave", "mouseleave"), this.handleEvent(n, r, "load", "load"), this.handleEvent(n, r, "dblclick", "dblclick") } handleEvent(n, r, s = "", o = "") { let a = []; if (r.forEach(l => { l.actionType == s && a.push(l) }), a.length > 0 && "" != o) { if ("load" == s) return void a.forEach(l => { if ("context" == l.interactionType && _D(l, null), "update" == l.interactionType && hD(l, null), "call" == l.interactionType || "callback" == l.interactionType) { console.log("call"); try { gD(l) } catch (c) { $t.injector.get(Bn).postMessage(c.message, "warning") } } }); "click" == s && (n.style.cursor = "pointer"), n.addEventListener(o, function (l) { a.sort(function (g, _) { return g.interactionType < _.interactionType ? 1 : g.interactionType > _.interactionType ? -1 : 0 }); const c = a.filter(g => "update" == g.interactionType), u = a.filter(g => "context" == g.interactionType), h = a.filter(g => "call" == g.interactionType || "callback" == g.interactionType); c.forEach(g => { try { hD(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), u.forEach(g => { try { _D(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), h.length > 1 && (h[0].operation = "(" + h.map(g => g.operation).join(",") + ")"), h.forEach(g => { try { gD(h[0]) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }) }) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Bn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const { isArray: N2 } = Array; function mD(e) { return Pt(t => function A2(e, t) { return N2(t) ? e(...t) : e(t) }(e, t)) } const O2 = ["addListener", "removeListener"], x2 = ["addEventListener", "removeEventListener"], R2 = ["on", "off"]; function Gt(e, t, i, n) { if ($(i) && (n = i, i = void 0), n) return Gt(e, t, i).pipe(mD(n)); const [r, s] = function k2(e) { return $(e.addEventListener) && $(e.removeEventListener) }(e) ? x2.map(o => a => e[o](t, a, i)) : function P2(e) { return $(e.addListener) && $(e.removeListener) }(e) ? O2.map(vD(e, t)) : function F2(e) { return $(e.on) && $(e.off) }(e) ? R2.map(vD(e, t)) : []; if (!r && Pu(e)) return us(o => Gt(o, t, i))(Ft(e)); if (!r) throw new TypeError("Invalid event target"); return new ze(o => { const a = (...l) => o.next(1 < l.length ? l : l[0]); return r(a), () => s(a) }) } function vD(e, t) { return i => n => e[i](t, n) } class L2 extends de { constructor(t, i) { super() } schedule(t, i = 0) { return this } } const Zc = { setInterval(e, t, ...i) { const { delegate: n } = Zc; return n?.setInterval ? n.setInterval(e, t, ...i) : setInterval(e, t, ...i) }, clearInterval(e) { const { delegate: t } = Zc; return (t?.clearInterval || clearInterval)(e) }, delegate: void 0 }, yD = { now: () => (yD.delegate || Date).now(), delegate: void 0 }; class Ia { constructor(t, i = Ia.now) { this.schedulerActionCtor = t, this.now = i } schedule(t, i = 0, n) { return new this.schedulerActionCtor(this, t).schedule(n, i) } } Ia.now = yD.now; const bD = new class V2 extends Ia { constructor(t, i = Ia.now) { super(t, i), this.actions = [], this._active = !1 } flush(t) { const { actions: i } = this; if (this._active) return void i.push(t); let n; this._active = !0; do { if (n = t.execute(t.state, t.delay)) break } while (t = i.shift()); if (this._active = !1, n) { for (; t = i.shift();)t.unsubscribe(); throw n } } }(class B2 extends L2 { constructor(t, i) { super(t, i), this.scheduler = t, this.work = i, this.pending = !1 } schedule(t, i = 0) { var n; if (this.closed) return this; this.state = t; const r = this.id, s = this.scheduler; return null != r && (this.id = this.recycleAsyncId(s, r, i)), this.pending = !0, this.delay = i, this.id = null !== (n = this.id) && void 0 !== n ? n : this.requestAsyncId(s, this.id, i), this } requestAsyncId(t, i, n = 0) { return Zc.setInterval(t.flush.bind(t, this), n) } recycleAsyncId(t, i, n = 0) { if (null != n && this.delay === n && !1 === this.pending) return i; null != i && Zc.clearInterval(i) } execute(t, i) { if (this.closed) return new Error("executing a cancelled action"); this.pending = !1; const n = this._execute(t, i); if (n) return n; !1 === this.pending && null != this.id && (this.id = this.recycleAsyncId(this.scheduler, this.id, null)) } _execute(t, i) { let r, n = !1; try { this.work(t) } catch (s) { n = !0, r = s || new Error("Scheduled action threw falsy error") } if (n) return this.unsubscribe(), r } unsubscribe() { if (!this.closed) { const { id: t, scheduler: i } = this, { actions: n } = i; this.work = this.state = this.scheduler = null, this.pending = !1, ke(n, this), null != t && (this.id = this.recycleAsyncId(i, t, null)), this.delay = null, super.unsubscribe() } } }), H2 = bD; function DD(e = 0, t, i = H2) { let n = -1; return null != t && (bg(t) ? i = t : n = t), new ze(r => { let s = function U2(e) { return e instanceof Date && !isNaN(e) }(e) ? +e - i.now() : e; s < 0 && (s = 0); let o = 0; return i.schedule(function () { r.closed || (r.next(o++), 0 <= n ? this.schedule(void 0, n) : r.complete()) }, s) }) } const { isArray: j2 } = Array; function wD(e) { return 1 === e.length && j2(e[0]) ? e[0] : e } function CD(...e) { return 1 === (e = wD(e)).length ? Ft(e[0]) : new ze(function $2(e) { return t => { let i = []; for (let n = 0; i && !t.closed && n < e.length; n++)i.push(Ft(e[n]).subscribe(ft(t, r => { if (i) { for (let s = 0; s < i.length; s++)s !== n && i[s].unsubscribe(); i = null } t.next(r) }))) } }(e)) } function fp(...e) { const t = ku(e), i = wD(e); return i.length ? new ze(n => { let r = i.map(() => []), s = i.map(() => !1); n.add(() => { r = s = null }); for (let o = 0; !n.closed && o < i.length; o++)Ft(i[o]).subscribe(ft(n, a => { if (r[o].push(a), r.every(l => l.length)) { const l = r.map(c => c.shift()); n.next(t ? t(...l) : l), r.some((c, u) => !c.length && s[u]) && n.complete() } }, () => { s[o] = !0, !r[o].length && n.complete() })); return () => { r = s = null } }) : Do } function Jc(...e) { return function G2() { return yg(1) }()(wo(e, Qa(e))) } function Mt(e) { return mt((t, i) => { Ft(e).subscribe(ft(i, () => i.complete(), wt)), !i.closed && t.subscribe(i) }) } function ui(e) { return e <= 0 ? () => Do : mt((t, i) => { let n = 0; t.subscribe(ft(i, r => { ++n <= e && (i.next(r), e <= n && i.complete()) })) }) } function ED(e, t, i) { const n = $(e) || t || i ? { next: e, error: t, complete: i } : e; return n ? mt((r, s) => { var o; null === (o = n.subscribe) || void 0 === o || o.call(n); let a = !0; r.subscribe(ft(s, l => { var c; null === (c = n.next) || void 0 === c || c.call(n, l), s.next(l) }, () => { var l; a = !1, null === (l = n.complete) || void 0 === l || l.call(n), s.complete() }, l => { var c; a = !1, null === (c = n.error) || void 0 === c || c.call(n, l), s.error(l) }, () => { var l, c; a && (null === (l = n.unsubscribe) || void 0 === l || l.call(n)), null === (c = n.finalize) || void 0 === c || c.call(n) })) }) : yi } function hp(...e) { const t = ku(e); return mt((i, n) => { const r = e.length, s = new Array(r); let o = e.map(() => !1), a = !1; for (let l = 0; l < r; l++)Ft(e[l]).subscribe(ft(n, c => { s[l] = c, !a && !o[l] && (o[l] = !0, (a = o.every(yi)) && (o = null)) }, wt)); i.subscribe(ft(n, l => { if (a) { const c = [l, ...s]; n.next(t ? t(...c) : c) } })) }) } function SD(e, t) { return t ? i => Jc(t.pipe(ui(1), function W2() { return mt((e, t) => { e.subscribe(ft(t, wt)) }) }()), i.pipe(SD(e))) : us((i, n) => Ft(e(i, n)).pipe(ui(1), function q2(e) { return Pt(() => e) }(i))) } const { isArray: Q2 } = Array, { getPrototypeOf: K2, prototype: X2, keys: eL } = Object; function iL(e, t) { return e.reduce((i, n, r) => (i[n] = t[r], i), {}) } let TD = (() => { var e; class t { constructor(n, r) { this._renderer = n, this._elementRef = r, this.onChange = s => { }, this.onTouched = () => { } } setProperty(n, r) { this._renderer.setProperty(this._elementRef.nativeElement, n, r) } registerOnTouched(n) { this.onTouched = n } registerOnChange(n) { this.onChange = n } setDisabledState(n) { this.setProperty("disabled", n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe)) }, e.\u0275dir = k({ type: e }), t })(), Vr = (() => { var e; class t extends TD { } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, features: [Oe] }), t })(); const Kn = new W("NgValueAccessor"), sL = { provide: Kn, useExisting: ae(() => pp), multi: !0 }; let pp = (() => { var e; class t extends Vr { writeValue(n) { this.setProperty("checked", n) } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["input", "type", "checkbox", "formControlName", ""], ["input", "type", "checkbox", "formControl", ""], ["input", "type", "checkbox", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.checked) })("blur", function () { return r.onTouched() }) }, features: [$e([sL]), Oe] }), t })(); const oL = { provide: Kn, useExisting: ae(() => Qc), multi: !0 }, lL = new W("CompositionEventMode"); let Qc = (() => { var e; class t extends TD { constructor(n, r, s) { super(n, r), this._compositionMode = s, this._composing = !1, null == this._compositionMode && (this._compositionMode = !function aL() { const e = ba() ? ba().getUserAgent() : ""; return /android (\d+)/.test(e.toLowerCase()) }()) } writeValue(n) { this.setProperty("value", n ?? "") } _handleInput(n) { (!this._compositionMode || this._compositionMode && !this._composing) && this.onChange(n) } _compositionStart() { this._composing = !0 } _compositionEnd(n) { this._composing = !1, this._compositionMode && this.onChange(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe), v(lL, 8)) }, e.\u0275dir = k({ 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 (n, r) { 1 & n && ce("input", function (o) { return r._handleInput(o.target.value) })("blur", function () { return r.onTouched() })("compositionstart", function () { return r._compositionStart() })("compositionend", function (o) { return r._compositionEnd(o.target.value) }) }, features: [$e([oL]), Oe] }), t })(); const zt = new W("NgValidators"), hr = new W("NgAsyncValidators"); function kD(e) { return null != e } function LD(e) { return fc(e) ? wo(e) : e } function BD(e) { let t = {}; return e.forEach(i => { t = null != i ? { ...t, ...i } : t }), 0 === Object.keys(t).length ? null : t } function VD(e, t) { return t.map(i => i(e)) } function HD(e) { return e.map(t => function uL(e) { return !e.validate }(t) ? t : i => t.validate(i)) } function gp(e) { return null != e ? function UD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return BD(VD(i, t)) } }(HD(e)) : null } function jD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return function rL(...e) { const t = ku(e), { args: i, keys: n } = function tL(e) { if (1 === e.length) { const t = e[0]; if (Q2(t)) return { args: t, keys: null }; if (function nL(e) { return e && "object" == typeof e && K2(e) === X2 }(t)) { const i = eL(t); return { args: i.map(n => t[n]), keys: i } } } return { args: e, keys: null } }(e), r = new ze(s => { const { length: o } = i; if (!o) return void s.complete(); const a = new Array(o); let l = o, c = o; for (let u = 0; u < o; u++) { let h = !1; Ft(i[u]).subscribe(ft(s, g => { h || (h = !0, c--), a[u] = g }, () => l--, void 0, () => { (!l || !h) && (c || s.next(n ? iL(n, a) : a), s.complete()) })) } }); return t ? r.pipe(mD(t)) : r }(VD(i, t).map(LD)).pipe(Pt(BD)) } } function _p(e) { return null != e ? jD(HD(e)) : null } function $D(e, t) { return null === e ? [t] : Array.isArray(e) ? [...e, t] : [e, t] } function GD(e) { return e._rawValidators } function zD(e) { return e._rawAsyncValidators } function mp(e) { return e ? Array.isArray(e) ? e : [e] : [] } function Xc(e, t) { return Array.isArray(e) ? e.includes(t) : e === t } function WD(e, t) { const i = mp(t); return mp(e).forEach(r => { Xc(i, r) || i.push(r) }), i } function qD(e, t) { return mp(t).filter(i => !Xc(e, i)) } class YD { 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(t) { this._rawValidators = t || [], this._composedValidatorFn = gp(this._rawValidators) } _setAsyncValidators(t) { this._rawAsyncValidators = t || [], this._composedAsyncValidatorFn = _p(this._rawAsyncValidators) } get validator() { return this._composedValidatorFn || null } get asyncValidator() { return this._composedAsyncValidatorFn || null } _registerOnDestroy(t) { this._onDestroyCallbacks.push(t) } _invokeOnDestroyCallbacks() { this._onDestroyCallbacks.forEach(t => t()), this._onDestroyCallbacks = [] } reset(t = void 0) { this.control && this.control.reset(t) } hasError(t, i) { return !!this.control && this.control.hasError(t, i) } getError(t, i) { return this.control ? this.control.getError(t, i) : null } } class hn extends YD { get formDirective() { return null } get path() { return null } } class pr extends YD { constructor() { super(...arguments), this._parent = null, this.name = null, this.valueAccessor = null } } class ZD { constructor(t) { this._cd = t } 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 JD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(pr, 2)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""], ["", "ngModel", ""], ["", "formControl", ""]], hostVars: 14, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(), QD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(hn, 10)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroupName", ""], ["", "formArrayName", ""], ["", "ngModelGroup", ""], ["", "formGroup", ""], ["form", 3, "ngNoForm", ""], ["", "ngForm", ""]], hostVars: 16, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(); const Na = "VALID", tu = "INVALID", ao = "PENDING", Aa = "DISABLED"; function bp(e) { return (nu(e) ? e.validators : e) || null } function Dp(e, t) { return (nu(t) ? t.asyncValidators : e) || null } function nu(e) { return null != e && !Array.isArray(e) && "object" == typeof e } function XD(e, t, i) { const n = e.controls; if (!(t ? Object.keys(n) : n).length) throw new F(1e3, ""); if (!n[i]) throw new F(1001, "") } function ew(e, t, i) { e._forEachChild((n, r) => { if (void 0 === i[r]) throw new F(1002, "") }) } class iu { constructor(t, i) { this._pendingDirty = !1, this._hasOwnPendingAsyncValidator = !1, this._pendingTouched = !1, this._onCollectionChange = () => { }, this._parent = null, this.pristine = !0, this.touched = !1, this._onDisabledChange = [], this._assignValidators(t), this._assignAsyncValidators(i) } get validator() { return this._composedValidatorFn } set validator(t) { this._rawValidators = this._composedValidatorFn = t } get asyncValidator() { return this._composedAsyncValidatorFn } set asyncValidator(t) { this._rawAsyncValidators = this._composedAsyncValidatorFn = t } get parent() { return this._parent } get valid() { return this.status === Na } get invalid() { return this.status === tu } get pending() { return this.status == ao } get disabled() { return this.status === Aa } get enabled() { return this.status !== Aa } get dirty() { return !this.pristine } get untouched() { return !this.touched } get updateOn() { return this._updateOn ? this._updateOn : this.parent ? this.parent.updateOn : "change" } setValidators(t) { this._assignValidators(t) } setAsyncValidators(t) { this._assignAsyncValidators(t) } addValidators(t) { this.setValidators(WD(t, this._rawValidators)) } addAsyncValidators(t) { this.setAsyncValidators(WD(t, this._rawAsyncValidators)) } removeValidators(t) { this.setValidators(qD(t, this._rawValidators)) } removeAsyncValidators(t) { this.setAsyncValidators(qD(t, this._rawAsyncValidators)) } hasValidator(t) { return Xc(this._rawValidators, t) } hasAsyncValidator(t) { return Xc(this._rawAsyncValidators, t) } clearValidators() { this.validator = null } clearAsyncValidators() { this.asyncValidator = null } markAsTouched(t = {}) { this.touched = !0, this._parent && !t.onlySelf && this._parent.markAsTouched(t) } markAllAsTouched() { this.markAsTouched({ onlySelf: !0 }), this._forEachChild(t => t.markAllAsTouched()) } markAsUntouched(t = {}) { this.touched = !1, this._pendingTouched = !1, this._forEachChild(i => { i.markAsUntouched({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updateTouched(t) } markAsDirty(t = {}) { this.pristine = !1, this._parent && !t.onlySelf && this._parent.markAsDirty(t) } markAsPristine(t = {}) { this.pristine = !0, this._pendingDirty = !1, this._forEachChild(i => { i.markAsPristine({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updatePristine(t) } markAsPending(t = {}) { this.status = ao, !1 !== t.emitEvent && this.statusChanges.emit(this.status), this._parent && !t.onlySelf && this._parent.markAsPending(t) } disable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Aa, this.errors = null, this._forEachChild(n => { n.disable({ ...t, onlySelf: !0 }) }), this._updateValue(), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!0)) } enable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Na, this._forEachChild(n => { n.enable({ ...t, onlySelf: !0 }) }), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!1)) } _updateAncestors(t) { this._parent && !t.onlySelf && (this._parent.updateValueAndValidity(t), t.skipPristineCheck || this._parent._updatePristine(), this._parent._updateTouched()) } setParent(t) { this._parent = t } getRawValue() { return this.value } updateValueAndValidity(t = {}) { this._setInitialStatus(), this._updateValue(), this.enabled && (this._cancelExistingSubscription(), this.errors = this._runValidator(), this.status = this._calculateStatus(), (this.status === Na || this.status === ao) && this._runAsyncValidator(t.emitEvent)), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._parent && !t.onlySelf && this._parent.updateValueAndValidity(t) } _updateTreeValidity(t = { emitEvent: !0 }) { this._forEachChild(i => i._updateTreeValidity(t)), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }) } _setInitialStatus() { this.status = this._allControlsDisabled() ? Aa : Na } _runValidator() { return this.validator ? this.validator(this) : null } _runAsyncValidator(t) { if (this.asyncValidator) { this.status = ao, this._hasOwnPendingAsyncValidator = !0; const i = LD(this.asyncValidator(this)); this._asyncValidationSubscription = i.subscribe(n => { this._hasOwnPendingAsyncValidator = !1, this.setErrors(n, { emitEvent: t }) }) } } _cancelExistingSubscription() { this._asyncValidationSubscription && (this._asyncValidationSubscription.unsubscribe(), this._hasOwnPendingAsyncValidator = !1) } setErrors(t, i = {}) { this.errors = t, this._updateControlsErrors(!1 !== i.emitEvent) } get(t) { let i = t; return null == i || (Array.isArray(i) || (i = i.split(".")), 0 === i.length) ? null : i.reduce((n, r) => n && n._find(r), this) } getError(t, i) { const n = i ? this.get(i) : this; return n && n.errors ? n.errors[t] : null } hasError(t, i) { return !!this.getError(t, i) } get root() { let t = this; for (; t._parent;)t = t._parent; return t } _updateControlsErrors(t) { this.status = this._calculateStatus(), t && this.statusChanges.emit(this.status), this._parent && this._parent._updateControlsErrors(t) } _initObservables() { this.valueChanges = new Y, this.statusChanges = new Y } _calculateStatus() { return this._allControlsDisabled() ? Aa : this.errors ? tu : this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(ao) ? ao : this._anyControlsHaveStatus(tu) ? tu : Na } _anyControlsHaveStatus(t) { return this._anyControls(i => i.status === t) } _anyControlsDirty() { return this._anyControls(t => t.dirty) } _anyControlsTouched() { return this._anyControls(t => t.touched) } _updatePristine(t = {}) { this.pristine = !this._anyControlsDirty(), this._parent && !t.onlySelf && this._parent._updatePristine(t) } _updateTouched(t = {}) { this.touched = this._anyControlsTouched(), this._parent && !t.onlySelf && this._parent._updateTouched(t) } _registerOnCollectionChange(t) { this._onCollectionChange = t } _setUpdateStrategy(t) { nu(t) && null != t.updateOn && (this._updateOn = t.updateOn) } _parentMarkedDirty(t) { return !t && !(!this._parent || !this._parent.dirty) && !this._parent._anyControlsDirty() } _find(t) { return null } _assignValidators(t) { this._rawValidators = Array.isArray(t) ? t.slice() : t, this._composedValidatorFn = function pL(e) { return Array.isArray(e) ? gp(e) : e || null }(this._rawValidators) } _assignAsyncValidators(t) { this._rawAsyncValidators = Array.isArray(t) ? t.slice() : t, this._composedAsyncValidatorFn = function gL(e) { return Array.isArray(e) ? _p(e) : e || null }(this._rawAsyncValidators) } } class Hr extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } registerControl(t, i) { return this.controls[t] ? this.controls[t] : (this.controls[t] = i, i.setParent(this), i._registerOnCollectionChange(this._onCollectionChange), i) } addControl(t, i, n = {}) { this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } removeControl(t, i = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } setControl(t, i, n = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], i && this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } contains(t) { return this.controls.hasOwnProperty(t) && this.controls[t].enabled } setValue(t, i = {}) { ew(this, 0, t), Object.keys(t).forEach(n => { XD(this, !0, n), this.controls[n].setValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (Object.keys(t).forEach(n => { const r = this.controls[n]; r && r.patchValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = {}, i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this._reduceChildren({}, (t, i, n) => (t[n] = i.getRawValue(), t)) } _syncPendingControls() { let t = this._reduceChildren(!1, (i, n) => !!n._syncPendingControls() || i); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { Object.keys(this.controls).forEach(i => { const n = this.controls[i]; n && t(n, i) }) } _setUpControls() { this._forEachChild(t => { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) }) } _updateValue() { this.value = this._reduceValue() } _anyControls(t) { for (const [i, n] of Object.entries(this.controls)) if (this.contains(i) && t(n)) return !0; return !1 } _reduceValue() { return this._reduceChildren({}, (i, n, r) => ((n.enabled || this.disabled) && (i[r] = n.value), i)) } _reduceChildren(t, i) { let n = t; return this._forEachChild((r, s) => { n = i(n, r, s) }), n } _allControlsDisabled() { for (const t of Object.keys(this.controls)) if (this.controls[t].enabled) return !1; return Object.keys(this.controls).length > 0 || this.disabled } _find(t) { return this.controls.hasOwnProperty(t) ? this.controls[t] : null } } class tw extends Hr { } const Ur = new W("CallSetDisabledState", { providedIn: "root", factory: () => Oa }), Oa = "always"; function xa(e, t, i = Oa) { wp(e, t), t.valueAccessor.writeValue(e.value), (e.disabled || "always" === i) && t.valueAccessor.setDisabledState?.(e.disabled), function mL(e, t) { t.valueAccessor.registerOnChange(i => { e._pendingValue = i, e._pendingChange = !0, e._pendingDirty = !0, "change" === e.updateOn && nw(e, t) }) }(e, t), function yL(e, t) { const i = (n, r) => { t.valueAccessor.writeValue(n), r && t.viewToModelUpdate(n) }; e.registerOnChange(i), t._registerOnDestroy(() => { e._unregisterOnChange(i) }) }(e, t), function vL(e, t) { t.valueAccessor.registerOnTouched(() => { e._pendingTouched = !0, "blur" === e.updateOn && e._pendingChange && nw(e, t), "submit" !== e.updateOn && e.markAsTouched() }) }(e, t), function _L(e, t) { if (t.valueAccessor.setDisabledState) { const i = n => { t.valueAccessor.setDisabledState(n) }; e.registerOnDisabledChange(i), t._registerOnDestroy(() => { e._unregisterOnDisabledChange(i) }) } }(e, t) } function su(e, t, i = !0) { const n = () => { }; t.valueAccessor && (t.valueAccessor.registerOnChange(n), t.valueAccessor.registerOnTouched(n)), au(e, t), e && (t._invokeOnDestroyCallbacks(), e._registerOnCollectionChange(() => { })) } function ou(e, t) { e.forEach(i => { i.registerOnValidatorChange && i.registerOnValidatorChange(t) }) } function wp(e, t) { const i = GD(e); null !== t.validator ? e.setValidators($D(i, t.validator)) : "function" == typeof i && e.setValidators([i]); const n = zD(e); null !== t.asyncValidator ? e.setAsyncValidators($D(n, t.asyncValidator)) : "function" == typeof n && e.setAsyncValidators([n]); const r = () => e.updateValueAndValidity(); ou(t._rawValidators, r), ou(t._rawAsyncValidators, r) } function au(e, t) { let i = !1; if (null !== e) { if (null !== t.validator) { const r = GD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.validator); s.length !== r.length && (i = !0, e.setValidators(s)) } } if (null !== t.asyncValidator) { const r = zD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.asyncValidator); s.length !== r.length && (i = !0, e.setAsyncValidators(s)) } } } const n = () => { }; return ou(t._rawValidators, n), ou(t._rawAsyncValidators, n), i } function nw(e, t) { e._pendingDirty && e.markAsDirty(), e.setValue(e._pendingValue, { emitModelToViewChange: !1 }), t.viewToModelUpdate(e._pendingValue), e._pendingChange = !1 } function sw(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } function ow(e) { return "object" == typeof e && null !== e && 2 === Object.keys(e).length && "value" in e && "disabled" in e } const jr = class extends iu { constructor(t = null, i, n) { super(bp(i), Dp(n, i)), this.defaultValue = null, this._onChange = [], this._pendingChange = !1, this._applyFormState(t), this._setUpdateStrategy(i), this._initObservables(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }), nu(i) && (i.nonNullable || i.initialValueIsDefault) && (this.defaultValue = ow(t) ? t.value : t) } setValue(t, i = {}) { this.value = this._pendingValue = t, this._onChange.length && !1 !== i.emitModelToViewChange && this._onChange.forEach(n => n(this.value, !1 !== i.emitViewToModelChange)), this.updateValueAndValidity(i) } patchValue(t, i = {}) { this.setValue(t, i) } reset(t = this.defaultValue, i = {}) { this._applyFormState(t), this.markAsPristine(i), this.markAsUntouched(i), this.setValue(this.value, i), this._pendingChange = !1 } _updateValue() { } _anyControls(t) { return !1 } _allControlsDisabled() { return this.disabled } registerOnChange(t) { this._onChange.push(t) } _unregisterOnChange(t) { sw(this._onChange, t) } registerOnDisabledChange(t) { this._onDisabledChange.push(t) } _unregisterOnDisabledChange(t) { sw(this._onDisabledChange, t) } _forEachChild(t) { } _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(t) { ow(t) ? (this.value = this._pendingValue = t.value, t.disabled ? this.disable({ onlySelf: !0, emitEvent: !1 }) : this.enable({ onlySelf: !0, emitEvent: !1 })) : this.value = this._pendingValue = t } }; let dw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275dir = k({ type: e, selectors: [["form", 3, "ngNoForm", "", 3, "ngNativeValidate", ""]], hostAttrs: ["novalidate", ""] }), t })(), hw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const Mp = new W("NgModelWithFormControlWarning"), RL = { provide: hn, useExisting: ae(() => lu) }; let lu = (() => { var e; class t extends hn { constructor(n, r, s) { super(), this.callSetDisabledState = s, this.submitted = !1, this._onCollectionChange = () => this._updateDomValue(), this.directives = [], this.form = null, this.ngSubmit = new Y, this._setValidators(n), this._setAsyncValidators(r) } ngOnChanges(n) { this._checkFormPresent(), n.hasOwnProperty("form") && (this._updateValidators(), this._updateDomValue(), this._updateRegistrations(), this._oldForm = this.form) } ngOnDestroy() { this.form && (au(this.form, this), this.form._onCollectionChange === this._onCollectionChange && this.form._registerOnCollectionChange(() => { })) } get formDirective() { return this } get control() { return this.form } get path() { return [] } addControl(n) { const r = this.form.get(n.path); return xa(r, n, this.callSetDisabledState), r.updateValueAndValidity({ emitEvent: !1 }), this.directives.push(n), r } getControl(n) { return this.form.get(n.path) } removeControl(n) { su(n.control || null, n, !1), function CL(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) }(this.directives, n) } addFormGroup(n) { this._setUpFormContainer(n) } removeFormGroup(n) { this._cleanUpFormContainer(n) } getFormGroup(n) { return this.form.get(n.path) } addFormArray(n) { this._setUpFormContainer(n) } removeFormArray(n) { this._cleanUpFormContainer(n) } getFormArray(n) { return this.form.get(n.path) } updateModel(n, r) { this.form.get(n.path).setValue(r) } onSubmit(n) { return this.submitted = !0, function rw(e, t) { e._syncPendingControls(), t.forEach(i => { const n = i.control; "submit" === n.updateOn && n._pendingChange && (i.viewToModelUpdate(n._pendingValue), n._pendingChange = !1) }) }(this.form, this.directives), this.ngSubmit.emit(n), "dialog" === n?.target?.method } onReset() { this.resetForm() } resetForm(n = void 0) { this.form.reset(n), this.submitted = !1 } _updateDomValue() { this.directives.forEach(n => { const r = n.control, s = this.form.get(n.path); r !== s && (su(r || null, n), (e => e instanceof jr)(s) && (xa(s, n, this.callSetDisabledState), n.control = s)) }), this.form._updateTreeValidity({ emitEvent: !1 }) } _setUpFormContainer(n) { const r = this.form.get(n.path); (function iw(e, t) { wp(e, t) })(r, n), r.updateValueAndValidity({ emitEvent: !1 }) } _cleanUpFormContainer(n) { if (this.form) { const r = this.form.get(n.path); r && function bL(e, t) { return au(e, t) }(r, n) && r.updateValueAndValidity({ emitEvent: !1 }) } } _updateRegistrations() { this.form._registerOnCollectionChange(this._onCollectionChange), this._oldForm && this._oldForm._registerOnCollectionChange(() => { }) } _updateValidators() { wp(this.form, this), this._oldForm && au(this._oldForm, this) } _checkFormPresent() { } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(zt, 10), v(hr, 10), v(Ur, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroup", ""]], hostBindings: function (n, r) { 1 & n && ce("submit", function (o) { return r.onSubmit(o) })("reset", function () { return r.onReset() }) }, inputs: { form: ["formGroup", "form"] }, outputs: { ngSubmit: "ngSubmit" }, exportAs: ["ngForm"], features: [$e([RL]), Oe, sn] }), t })(); const kL = { provide: pr, useExisting: ae(() => Ap) }; let Ap = (() => { var e; class t extends pr { set isDisabled(n) { } constructor(n, r, s, o, a) { super(), this._ngModelWarningConfig = a, this._added = !1, this.name = null, this.update = new Y, this._ngModelWarningSent = !1, this._parent = n, this._setValidators(r), this._setAsyncValidators(s), this.valueAccessor = function Sp(e, t) { if (!t) return null; let i, n, r; return Array.isArray(t), t.forEach(s => { s.constructor === Qc ? i = s : function wL(e) { return Object.getPrototypeOf(e.constructor) === Vr }(s) ? n = s : r = s }), r || n || i || null }(0, o) } ngOnChanges(n) { this._added || this._setUpControl(), function Ep(e, t) { if (!e.hasOwnProperty("model")) return !1; const i = e.model; return !!i.isFirstChange() || !Object.is(t, i.currentValue) }(n, this.viewModel) && (this.viewModel = this.model, this.formDirective.updateModel(this, this.model)) } ngOnDestroy() { this.formDirective && this.formDirective.removeControl(this) } viewToModelUpdate(n) { this.viewModel = n, this.update.emit(n) } get path() { return function ru(e, t) { return [...t.path, e] }(null == this.name ? this.name : this.name.toString(), this._parent) } get formDirective() { return this._parent ? this._parent.formDirective : null } _checkParentType() { } _setUpControl() { this._checkParentType(), this.control = this.formDirective.addControl(this), this._added = !0 } } return (e = t)._ngModelWarningSentOnce = !1, e.\u0275fac = function (n) { return new (n || e)(v(hn, 13), v(zt, 10), v(hr, 10), v(Kn, 10), v(Mp, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""]], inputs: { name: ["formControlName", "name"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, features: [$e([kL]), Oe, sn] }), t })(); const LL = { provide: Kn, useExisting: ae(() => cu), multi: !0 }; function vw(e, t) { return null == e ? `${t}` : (t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let cu = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { this.value = n; const s = vw(this._getOptionId(n), n); this.setProperty("value", s) } registerOnChange(n) { this.onChange = r => { this.value = this._getOptionValue(r), n(this.value) } } _registerOption() { return (this._idCounter++).toString() } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r), n)) return r; return null } _getOptionValue(n) { const r = function BL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r) : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "formControlName", "", 3, "multiple", ""], ["select", "formControl", "", 3, "multiple", ""], ["select", "ngModel", "", 3, "multiple", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.value) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([LL]), Oe] }), t })(), yw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption()) } set ngValue(n) { null != this._select && (this._select._optionMap.set(this.id, n), this._setElementValue(vw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._setElementValue(n), this._select && this._select.writeValue(this._select.value) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(cu, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(); const VL = { provide: Kn, useExisting: ae(() => Op), multi: !0 }; function bw(e, t) { return null == e ? `${t}` : ("string" == typeof t && (t = `'${t}'`), t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let Op = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { let r; if (this.value = n, Array.isArray(n)) { const s = n.map(o => this._getOptionId(o)); r = (o, a) => { o._setSelected(s.indexOf(a.toString()) > -1) } } else r = (s, o) => { s._setSelected(!1) }; this._optionMap.forEach(r) } registerOnChange(n) { this.onChange = r => { const s = [], o = r.selectedOptions; if (void 0 !== o) { const a = o; for (let l = 0; l < a.length; l++) { const u = this._getOptionValue(a[l].value); s.push(u) } } else { const a = r.options; for (let l = 0; l < a.length; l++) { const c = a[l]; if (c.selected) { const u = this._getOptionValue(c.value); s.push(u) } } } this.value = s, n(s) } } _registerOption(n) { const r = (this._idCounter++).toString(); return this._optionMap.set(r, n), r } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r)._value, n)) return r; return null } _getOptionValue(n) { const r = function HL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r)._value : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "multiple", "", "formControlName", ""], ["select", "multiple", "", "formControl", ""], ["select", "multiple", "", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([VL]), Oe] }), t })(), Dw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption(this)) } set ngValue(n) { null != this._select && (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._select ? (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) : this._setElementValue(n) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } _setSelected(n) { this._renderer.setProperty(this._element.nativeElement, "selected", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(Op, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(), Ow = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [hw] }), t })(); class xw extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } at(t) { return this.controls[this._adjustIndex(t)] } push(t, i = {}) { this.controls.push(t), this._registerControl(t), this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } insert(t, i, n = {}) { this.controls.splice(t, 0, i), this._registerControl(i), this.updateValueAndValidity({ emitEvent: n.emitEvent }) } removeAt(t, i = {}) { let n = this._adjustIndex(t); n < 0 && (n = 0), this.controls[n] && this.controls[n]._registerOnCollectionChange(() => { }), this.controls.splice(n, 1), this.updateValueAndValidity({ emitEvent: i.emitEvent }) } setControl(t, i, n = {}) { let r = this._adjustIndex(t); r < 0 && (r = 0), this.controls[r] && this.controls[r]._registerOnCollectionChange(() => { }), this.controls.splice(r, 1), i && (this.controls.splice(r, 0, i), this._registerControl(i)), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } get length() { return this.controls.length } setValue(t, i = {}) { ew(this, 0, t), t.forEach((n, r) => { XD(this, !1, r), this.at(r).setValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (t.forEach((n, r) => { this.at(r) && this.at(r).patchValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = [], i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this.controls.map(t => t.getRawValue()) } clear(t = {}) { this.controls.length < 1 || (this._forEachChild(i => i._registerOnCollectionChange(() => { })), this.controls.splice(0), this.updateValueAndValidity({ emitEvent: t.emitEvent })) } _adjustIndex(t) { return t < 0 ? t + this.length : t } _syncPendingControls() { let t = this.controls.reduce((i, n) => !!n._syncPendingControls() || i, !1); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { this.controls.forEach((i, n) => { t(i, n) }) } _updateValue() { this.value = this.controls.filter(t => t.enabled || this.disabled).map(t => t.value) } _anyControls(t) { return this.controls.some(i => i.enabled && t(i)) } _setUpControls() { this._forEachChild(t => this._registerControl(t)) } _allControlsDisabled() { for (const t of this.controls) if (t.enabled) return !1; return this.controls.length > 0 || this.disabled } _registerControl(t) { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) } _find(t) { return this.at(t) ?? null } } function Rw(e) { return !!e && (void 0 !== e.asyncValidators || void 0 !== e.validators || void 0 !== e.updateOn) } let ZL = (() => { var e; class t { constructor() { this.useNonNullable = !1 } get nonNullable() { const n = new t; return n.useNonNullable = !0, n } group(n, r = null) { const s = this._reduceControls(n); let o = {}; return Rw(r) ? o = r : null !== r && (o.validators = r.validator, o.asyncValidators = r.asyncValidator), new Hr(s, o) } record(n, r = null) { const s = this._reduceControls(n); return new tw(s, r) } control(n, r, s) { let o = {}; return this.useNonNullable ? (Rw(r) ? o = r : (o.validators = r, o.asyncValidators = s), new jr(n, { ...o, nonNullable: !0 })) : new jr(n, r, s) } array(n, r, s) { const o = n.map(a => this._createControl(a)); return new xw(o, r, s) } _reduceControls(n) { const r = {}; return Object.keys(n).forEach(s => { r[s] = this._createControl(n[s]) }), r } _createControl(n) { return n instanceof jr || n instanceof iu ? n : Array.isArray(n) ? this.control(n[0], n.length > 1 ? n[1] : null, n.length > 2 ? n[2] : null) : this.control(n) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), JL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(), QL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Mp, useValue: n.warnOnNgModelWithFormControl ?? "always" }, { provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(); var KL = { left: "right", right: "left", bottom: "top", top: "bottom" }; function uu(e) { return e.replace(/left|right|bottom|top/g, function (t) { return KL[t] }) } function ki(e) { return e.split("-")[0] } var XL = { start: "end", end: "start" }; function Pw(e) { return e.replace(/start|end/g, function (t) { return XL[t] }) } var Vn = "top", di = "bottom", fi = "right", Hn = "left", Rp = "auto", Pa = [Vn, di, fi, Hn], lo = "start", Fa = "end", Fw = "viewport", ka = "popper", kw = Pa.reduce(function (e, t) { return e.concat([t + "-" + lo, t + "-" + Fa]) }, []), Lw = [].concat(Pa, [Rp]).reduce(function (e, t) { return e.concat([t, t + "-" + lo, t + "-" + Fa]) }, []), dB = ["beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite"]; function Un(e) { if (null == e) return window; if ("[object Window]" !== e.toString()) { var t = e.ownerDocument; return t && t.defaultView || window } return e } function Gr(e) { return e instanceof Un(e).Element || e instanceof Element } function Xn(e) { return e instanceof Un(e).HTMLElement || e instanceof HTMLElement } function Pp(e) { return !(typeof ShadowRoot > "u") && (e instanceof Un(e).ShadowRoot || e instanceof ShadowRoot) } function gr(e) { return ((Gr(e) ? e.ownerDocument : e.document) || window.document).documentElement } var zr = Math.max, du = Math.min, co = Math.round; function Fp() { var e = navigator.userAgentData; return null != e && e.brands && Array.isArray(e.brands) ? e.brands.map(function (t) { return t.brand + "/" + t.version }).join(" ") : navigator.userAgent } function Bw() { return !/^((?!chrome|android).)*safari/i.test(Fp()) } function uo(e, t, i) { void 0 === t && (t = !1), void 0 === i && (i = !1); var n = e.getBoundingClientRect(), r = 1, s = 1; t && Xn(e) && (r = e.offsetWidth > 0 && co(n.width) / e.offsetWidth || 1, s = e.offsetHeight > 0 && co(n.height) / e.offsetHeight || 1); var a = (Gr(e) ? Un(e) : window).visualViewport, l = !Bw() && i, c = (n.left + (l && a ? a.offsetLeft : 0)) / r, u = (n.top + (l && a ? a.offsetTop : 0)) / s, h = n.width / r, g = n.height / s; return { width: h, height: g, top: u, right: c + h, bottom: u + g, left: c, x: c, y: u } } function kp(e) { var t = Un(e); return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset } } function Lp(e) { return uo(gr(e)).left + kp(e).scrollLeft } function Yi(e) { return Un(e).getComputedStyle(e) } function Li(e) { return e ? (e.nodeName || "").toLowerCase() : null } function fu(e) { return "html" === Li(e) ? e : e.assignedSlot || e.parentNode || (Pp(e) ? e.host : null) || gr(e) } function Bp(e) { var t = Yi(e); return /auto|scroll|overlay|hidden/.test(t.overflow + t.overflowY + t.overflowX) } function Vw(e) { return ["html", "body", "#document"].indexOf(Li(e)) >= 0 ? e.ownerDocument.body : Xn(e) && Bp(e) ? e : Vw(fu(e)) } function La(e, t) { var i; void 0 === t && (t = []); var n = Vw(e), r = n === (null == (i = e.ownerDocument) ? void 0 : i.body), s = Un(n), o = r ? [s].concat(s.visualViewport || [], Bp(n) ? n : []) : n, a = t.concat(o); return r ? a : a.concat(La(fu(o))) } function pB(e) { return ["table", "td", "th"].indexOf(Li(e)) >= 0 } function Hw(e) { return Xn(e) && "fixed" !== Yi(e).position ? e.offsetParent : null } function Ba(e) { for (var t = Un(e), i = Hw(e); i && pB(i) && "static" === Yi(i).position;)i = Hw(i); return i && ("html" === Li(i) || "body" === Li(i) && "static" === Yi(i).position) ? t : i || function gB(e) { var t = /firefox/i.test(Fp()); if (/Trident/i.test(Fp()) && Xn(e) && "fixed" === Yi(e).position) return null; var r = fu(e); for (Pp(r) && (r = r.host); Xn(r) && ["html", "body"].indexOf(Li(r)) < 0;) { var s = Yi(r); if ("none" !== s.transform || "none" !== s.perspective || "paint" === s.contain || -1 !== ["transform", "perspective"].indexOf(s.willChange) || t && "filter" === s.willChange || t && s.filter && "none" !== s.filter) return r; r = r.parentNode } return null }(e) || t } function Uw(e, t) { var i = t.getRootNode && t.getRootNode(); if (e.contains(t)) return !0; if (i && Pp(i)) { var n = t; do { if (n && e.isSameNode(n)) return !0; n = n.parentNode || n.host } while (n) } return !1 } function Vp(e) { return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }) } function jw(e, t, i) { return t === Fw ? Vp(function fB(e, t) { var i = Un(e), n = gr(e), r = i.visualViewport, s = n.clientWidth, o = n.clientHeight, a = 0, l = 0; if (r) { s = r.width, o = r.height; var c = Bw(); (c || !c && "fixed" === t) && (a = r.offsetLeft, l = r.offsetTop) } return { width: s, height: o, x: a + Lp(e), y: l } }(e, i)) : Gr(t) ? function _B(e, t) { var i = uo(e, !1, "fixed" === t); return i.top = i.top + e.clientTop, i.left = i.left + e.clientLeft, i.bottom = i.top + e.clientHeight, i.right = i.left + e.clientWidth, i.width = e.clientWidth, i.height = e.clientHeight, i.x = i.left, i.y = i.top, i }(t, i) : Vp(function hB(e) { var t, i = gr(e), n = kp(e), r = null == (t = e.ownerDocument) ? void 0 : t.body, s = zr(i.scrollWidth, i.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), o = zr(i.scrollHeight, i.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), a = -n.scrollLeft + Lp(e), l = -n.scrollTop; return "rtl" === Yi(r || i).direction && (a += zr(i.clientWidth, r ? r.clientWidth : 0) - s), { width: s, height: o, x: a, y: l } }(gr(e))) } function fo(e) { return e.split("-")[1] } function Hp(e) { return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y" } function $w(e) { var l, t = e.reference, i = e.element, n = e.placement, r = n ? ki(n) : null, s = n ? fo(n) : null, o = t.x + t.width / 2 - i.width / 2, a = t.y + t.height / 2 - i.height / 2; switch (r) { case Vn: l = { x: o, y: t.y - i.height }; break; case di: l = { x: o, y: t.y + t.height }; break; case fi: l = { x: t.x + t.width, y: a }; break; case Hn: l = { x: t.x - i.width, y: a }; break; default: l = { x: t.x, y: t.y } }var c = r ? Hp(r) : null; if (null != c) { var u = "y" === c ? "height" : "width"; switch (s) { case lo: l[c] = l[c] - (t[u] / 2 - i[u] / 2); break; case Fa: l[c] = l[c] + (t[u] / 2 - i[u] / 2) } } return l } function zw(e) { return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e) } function Ww(e, t) { return t.reduce(function (i, n) { return i[n] = e, i }, {}) } function Up(e, t) { void 0 === t && (t = {}); var n = t.placement, r = void 0 === n ? e.placement : n, s = t.strategy, o = void 0 === s ? e.strategy : s, a = t.boundary, l = void 0 === a ? "clippingParents" : a, c = t.rootBoundary, u = void 0 === c ? Fw : c, h = t.elementContext, g = void 0 === h ? ka : h, _ = t.altBoundary, y = void 0 !== _ && _, b = t.padding, D = void 0 === b ? 0 : b, T = zw("number" != typeof D ? D : Ww(D, Pa)), P = e.rects.popper, O = e.elements[y ? g === ka ? "reference" : ka : g], V = function vB(e, t, i, n) { var r = "clippingParents" === t ? function mB(e) { var t = La(fu(e)), n = ["absolute", "fixed"].indexOf(Yi(e).position) >= 0 && Xn(e) ? Ba(e) : e; return Gr(n) ? t.filter(function (r) { return Gr(r) && Uw(r, n) && "body" !== Li(r) }) : [] }(e) : [].concat(t), s = [].concat(r, [i]), a = s.reduce(function (l, c) { var u = jw(e, c, n); return l.top = zr(u.top, l.top), l.right = du(u.right, l.right), l.bottom = du(u.bottom, l.bottom), l.left = zr(u.left, l.left), l }, jw(e, s[0], n)); return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a }(Gr(O) ? O : O.contextElement || gr(e.elements.popper), l, u, o), J = uo(e.elements.reference), ue = $w({ reference: J, element: P, strategy: "absolute", placement: r }), _e = Vp(Object.assign({}, P, ue)), lt = g === ka ? _e : J, Dt = { top: V.top - lt.top + T.top, bottom: lt.bottom - V.bottom + T.bottom, left: V.left - lt.left + T.left, right: lt.right - V.right + T.right }, Bt = e.modifiersData.offset; if (g === ka && Bt) { var pi = Bt[r]; Object.keys(Dt).forEach(function (gn) { var Xr = [fi, di].indexOf(gn) >= 0 ? 1 : -1, es = [Vn, di].indexOf(gn) >= 0 ? "y" : "x"; Dt[gn] += pi[es] * Xr }) } return Dt } const wB = { name: "flip", enabled: !0, phase: "main", fn: function DB(e) { var t = e.state, i = e.options, n = e.name; if (!t.modifiersData[n]._skip) { for (var r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 === o || o, l = i.fallbackPlacements, c = i.padding, u = i.boundary, h = i.rootBoundary, g = i.altBoundary, _ = i.flipVariations, y = void 0 === _ || _, b = i.allowedAutoPlacements, D = t.options.placement, T = ki(D), P = l || (T !== D && y ? function bB(e) { if (ki(e) === Rp) return []; var t = uu(e); return [Pw(e), t, Pw(t)] }(D) : [uu(D)]), O = [D].concat(P).reduce(function (mo, _r) { return mo.concat(ki(_r) === Rp ? function yB(e, t) { void 0 === t && (t = {}); var r = t.boundary, s = t.rootBoundary, o = t.padding, a = t.flipVariations, l = t.allowedAutoPlacements, c = void 0 === l ? Lw : l, u = fo(t.placement), h = u ? a ? kw : kw.filter(function (y) { return fo(y) === u }) : Pa, g = h.filter(function (y) { return c.indexOf(y) >= 0 }); 0 === g.length && (g = h); var _ = g.reduce(function (y, b) { return y[b] = Up(e, { placement: b, boundary: r, rootBoundary: s, padding: o })[ki(b)], y }, {}); return Object.keys(_).sort(function (y, b) { return _[y] - _[b] }) }(t, { placement: _r, boundary: u, rootBoundary: h, padding: c, flipVariations: y, allowedAutoPlacements: b }) : _r) }, []), V = t.rects.reference, J = t.rects.popper, ue = new Map, _e = !0, lt = O[0], Dt = 0; Dt < O.length; Dt++) { var Bt = O[Dt], pi = ki(Bt), gn = fo(Bt) === lo, Xr = [Vn, di].indexOf(pi) >= 0, es = Xr ? "width" : "height", jn = Up(t, { placement: Bt, boundary: u, rootBoundary: h, altBoundary: g, padding: c }), gi = Xr ? gn ? fi : Hn : gn ? di : Vn; V[es] > J[es] && (gi = uu(gi)); var Tu = uu(gi), ts = []; if (s && ts.push(jn[pi] <= 0), a && ts.push(jn[gi] <= 0, jn[Tu] <= 0), ts.every(function (mo) { return mo })) { lt = Bt, _e = !1; break } ue.set(Bt, ts) } if (_e) for (var og = function (_r) { var Za = O.find(function (Nu) { var ns = ue.get(Nu); if (ns) return ns.slice(0, _r).every(function (ag) { return ag }) }); if (Za) return lt = Za, "break" }, Ya = y ? 3 : 1; Ya > 0 && "break" !== og(Ya); Ya--); t.placement !== lt && (t.modifiersData[n]._skip = !0, t.placement = lt, t.reset = !0) } }, requiresIfExists: ["offset"], data: { _skip: !1 } }; function Va(e, t, i) { return zr(e, du(t, i)) } function jp(e) { var t = uo(e), i = e.offsetWidth, n = e.offsetHeight; return Math.abs(t.width - i) <= 1 && (i = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), { x: e.offsetLeft, y: e.offsetTop, width: i, height: n } } const TB = { name: "preventOverflow", enabled: !0, phase: "main", fn: function SB(e) { var t = e.state, i = e.options, n = e.name, r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 !== o && o, g = i.tether, _ = void 0 === g || g, y = i.tetherOffset, b = void 0 === y ? 0 : y, D = Up(t, { boundary: i.boundary, rootBoundary: i.rootBoundary, padding: i.padding, altBoundary: i.altBoundary }), T = ki(t.placement), C = fo(t.placement), P = !C, O = Hp(T), V = function CB(e) { return "x" === e ? "y" : "x" }(O), J = t.modifiersData.popperOffsets, ue = t.rects.reference, _e = t.rects.popper, lt = "function" == typeof b ? b(Object.assign({}, t.rects, { placement: t.placement })) : b, Dt = "number" == typeof lt ? { mainAxis: lt, altAxis: lt } : Object.assign({ mainAxis: 0, altAxis: 0 }, lt), Bt = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, pi = { x: 0, y: 0 }; if (J) { if (s) { var gn, Xr = "y" === O ? Vn : Hn, es = "y" === O ? di : fi, jn = "y" === O ? "height" : "width", gi = J[O], Tu = gi + D[Xr], ts = gi - D[es], Mu = _ ? -_e[jn] / 2 : 0, og = C === lo ? ue[jn] : _e[jn], Ya = C === lo ? -_e[jn] : -ue[jn], Iu = t.elements.arrow, mo = _ && Iu ? jp(Iu) : { width: 0, height: 0 }, _r = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }, Za = _r[Xr], Nu = _r[es], ns = Va(0, ue[jn], mo[jn]), ag = P ? ue[jn] / 2 - Mu - ns - Za - Dt.mainAxis : og - ns - Za - Dt.mainAxis, aj = P ? -ue[jn] / 2 + Mu + ns + Nu + Dt.mainAxis : Ya + ns + Nu + Dt.mainAxis, lg = t.elements.arrow && Ba(t.elements.arrow), lj = lg ? "y" === O ? lg.clientTop || 0 : lg.clientLeft || 0 : 0, uE = null != (gn = Bt?.[O]) ? gn : 0, uj = gi + aj - uE, dE = Va(_ ? du(Tu, gi + ag - uE - lj) : Tu, gi, _ ? zr(ts, uj) : ts); J[O] = dE, pi[O] = dE - gi } if (a) { var fE, is = J[V], Au = "y" === V ? "height" : "width", hE = is + D["x" === O ? Vn : Hn], pE = is - D["x" === O ? di : fi], cg = -1 !== [Vn, Hn].indexOf(T), gE = null != (fE = Bt?.[V]) ? fE : 0, _E = cg ? hE : is - ue[Au] - _e[Au] - gE + Dt.altAxis, mE = cg ? is + ue[Au] + _e[Au] - gE - Dt.altAxis : pE, vE = _ && cg ? function EB(e, t, i) { var n = Va(e, t, i); return n > i ? i : n }(_E, is, mE) : Va(_ ? _E : hE, is, _ ? mE : pE); J[V] = vE, pi[V] = vE - is } t.modifiersData[n] = pi } }, requiresIfExists: ["offset"] }, AB = { name: "arrow", enabled: !0, phase: "main", fn: function IB(e) { var t, i = e.state, n = e.name, r = e.options, s = i.elements.arrow, o = i.modifiersData.popperOffsets, a = ki(i.placement), l = Hp(a), u = [Hn, fi].indexOf(a) >= 0 ? "height" : "width"; if (s && o) { var h = function (t, i) { return zw("number" != typeof (t = "function" == typeof t ? t(Object.assign({}, i.rects, { placement: i.placement })) : t) ? t : Ww(t, Pa)) }(r.padding, i), g = jp(s), _ = "y" === l ? Vn : Hn, y = "y" === l ? di : fi, b = i.rects.reference[u] + i.rects.reference[l] - o[l] - i.rects.popper[u], D = o[l] - i.rects.reference[l], T = Ba(s), C = T ? "y" === l ? T.clientHeight || 0 : T.clientWidth || 0 : 0, J = C / 2 - g[u] / 2 + (b / 2 - D / 2), ue = Va(h[_], J, C - g[u] - h[y]); i.modifiersData[n] = ((t = {})[l] = ue, t.centerOffset = ue - J, t) } }, effect: function NB(e) { var t = e.state, n = e.options.element, r = void 0 === n ? "[data-popper-arrow]" : n; null != r && ("string" == typeof r && !(r = t.elements.popper.querySelector(r)) || Uw(t.elements.popper, r) && (t.elements.arrow = r)) }, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] }; function PB(e, t, i) { void 0 === i && (i = !1); var n = Xn(t), r = Xn(t) && function RB(e) { var t = e.getBoundingClientRect(), i = co(t.width) / e.offsetWidth || 1, n = co(t.height) / e.offsetHeight || 1; return 1 !== i || 1 !== n }(t), s = gr(t), o = uo(e, r, i), a = { scrollLeft: 0, scrollTop: 0 }, l = { x: 0, y: 0 }; return (n || !n && !i) && (("body" !== Li(t) || Bp(s)) && (a = function xB(e) { return e !== Un(e) && Xn(e) ? function OB(e) { return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } }(e) : kp(e) }(t)), Xn(t) ? ((l = uo(t, !0)).x += t.clientLeft, l.y += t.clientTop) : s && (l.x = Lp(s))), { x: o.left + a.scrollLeft - l.x, y: o.top + a.scrollTop - l.y, width: o.width, height: o.height } } function FB(e) { var t = new Map, i = new Set, n = []; function r(s) { i.add(s.name), [].concat(s.requires || [], s.requiresIfExists || []).forEach(function (a) { if (!i.has(a)) { var l = t.get(a); l && r(l) } }), n.push(s) } return e.forEach(function (s) { t.set(s.name, s) }), e.forEach(function (s) { i.has(s.name) || r(s) }), n } function LB(e) { var t; return function () { return t || (t = new Promise(function (i) { Promise.resolve().then(function () { t = void 0, i(e()) }) })), t } } var qw = { placement: "bottom", modifiers: [], strategy: "absolute" }; function Yw() { for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)t[i] = arguments[i]; return !t.some(function (n) { return !(n && "function" == typeof n.getBoundingClientRect) }) } function VB(e) { void 0 === e && (e = {}); var i = e.defaultModifiers, n = void 0 === i ? [] : i, r = e.defaultOptions, s = void 0 === r ? qw : r; return function (a, l, c) { void 0 === c && (c = s); var u = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, qw, s), modifiersData: {}, elements: { reference: a, popper: l }, attributes: {}, styles: {} }, h = [], g = !1, _ = { state: u, setOptions: function (T) { var C = "function" == typeof T ? T(u.options) : T; b(), u.options = Object.assign({}, s, u.options, C), u.scrollParents = { reference: Gr(a) ? La(a) : a.contextElement ? La(a.contextElement) : [], popper: La(l) }; var P = function kB(e) { var t = FB(e); return dB.reduce(function (i, n) { return i.concat(t.filter(function (r) { return r.phase === n })) }, []) }(function BB(e) { var t = e.reduce(function (i, n) { var r = i[n.name]; return i[n.name] = r ? Object.assign({}, r, n, { options: Object.assign({}, r.options, n.options), data: Object.assign({}, r.data, n.data) }) : n, i }, {}); return Object.keys(t).map(function (i) { return t[i] }) }([].concat(n, u.options.modifiers))); return u.orderedModifiers = P.filter(function (O) { return O.enabled }), function y() { u.orderedModifiers.forEach(function (D) { var C = D.options, O = D.effect; if ("function" == typeof O) { var V = O({ state: u, name: D.name, instance: _, options: void 0 === C ? {} : C }); h.push(V || function () { }) } }) }(), _.update() }, forceUpdate: function () { if (!g) { var T = u.elements, C = T.reference, P = T.popper; if (Yw(C, P)) { u.rects = { reference: PB(C, Ba(P), "fixed" === u.options.strategy), popper: jp(P) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function (Dt) { return u.modifiersData[Dt.name] = Object.assign({}, Dt.data) }); for (var O = 0; O < u.orderedModifiers.length; O++)if (!0 !== u.reset) { var V = u.orderedModifiers[O], J = V.fn, ue = V.options; "function" == typeof J && (u = J({ state: u, options: void 0 === ue ? {} : ue, name: V.name, instance: _ }) || u) } else u.reset = !1, O = -1 } } }, update: LB(function () { return new Promise(function (D) { _.forceUpdate(), D(u) }) }), destroy: function () { b(), g = !0 } }; if (!Yw(a, l)) return _; function b() { h.forEach(function (D) { return D() }), h = [] } return _.setOptions(c).then(function (D) { !g && c.onFirstUpdate && c.onFirstUpdate(D) }), _ } } var hu = { passive: !0 }, GB = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; function Zw(e) { var t, i = e.popper, n = e.popperRect, r = e.placement, s = e.variation, o = e.offsets, a = e.position, l = e.gpuAcceleration, c = e.adaptive, u = e.roundOffsets, h = e.isFixed, g = o.x, _ = void 0 === g ? 0 : g, y = o.y, b = void 0 === y ? 0 : y, D = "function" == typeof u ? u({ x: _, y: b }) : { x: _, y: b }; _ = D.x, b = D.y; var T = o.hasOwnProperty("x"), C = o.hasOwnProperty("y"), P = Hn, O = Vn, V = window; if (c) { var J = Ba(i), ue = "clientHeight", _e = "clientWidth"; J === Un(i) && "static" !== Yi(J = gr(i)).position && "absolute" === a && (ue = "scrollHeight", _e = "scrollWidth"), (r === Vn || (r === Hn || r === fi) && s === Fa) && (O = di, b -= (h && J === V && V.visualViewport ? V.visualViewport.height : J[ue]) - n.height, b *= l ? 1 : -1), r !== Hn && (r !== Vn && r !== di || s !== Fa) || (P = fi, _ -= (h && J === V && V.visualViewport ? V.visualViewport.width : J[_e]) - n.width, _ *= l ? 1 : -1) } var gn, Bt = Object.assign({ position: a }, c && GB), pi = !0 === u ? function zB(e, t) { var n = e.y, r = t.devicePixelRatio || 1; return { x: co(e.x * r) / r || 0, y: co(n * r) / r || 0 } }({ x: _, y: b }, Un(i)) : { x: _, y: b }; return _ = pi.x, b = pi.y, Object.assign({}, Bt, l ? ((gn = {})[O] = C ? "0" : "", gn[P] = T ? "0" : "", gn.transform = (V.devicePixelRatio || 1) <= 1 ? "translate(" + _ + "px, " + b + "px)" : "translate3d(" + _ + "px, " + b + "px, 0)", gn) : ((t = {})[O] = C ? b + "px" : "", t[P] = T ? _ + "px" : "", t.transform = "", t)) } var QB = VB({ defaultModifiers: [{ name: "eventListeners", enabled: !0, phase: "write", fn: function () { }, effect: function HB(e) { var t = e.state, i = e.instance, n = e.options, r = n.scroll, s = void 0 === r || r, o = n.resize, a = void 0 === o || o, l = Un(t.elements.popper), c = [].concat(t.scrollParents.reference, t.scrollParents.popper); return s && c.forEach(function (u) { u.addEventListener("scroll", i.update, hu) }), a && l.addEventListener("resize", i.update, hu), function () { s && c.forEach(function (u) { u.removeEventListener("scroll", i.update, hu) }), a && l.removeEventListener("resize", i.update, hu) } }, data: {} }, { name: "popperOffsets", enabled: !0, phase: "read", fn: function jB(e) { var t = e.state; t.modifiersData[e.name] = $w({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement }) }, data: {} }, { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: function WB(e) { var t = e.state, i = e.options, n = i.gpuAcceleration, r = void 0 === n || n, s = i.adaptive, o = void 0 === s || s, a = i.roundOffsets, l = void 0 === a || a, c = { placement: ki(t.placement), variation: fo(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: r, isFixed: "fixed" === t.options.strategy }; null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, Zw(Object.assign({}, c, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: l })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, Zw(Object.assign({}, c, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: l })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement }) }, data: {} }, { name: "applyStyles", enabled: !0, phase: "write", fn: function YB(e) { var t = e.state; Object.keys(t.elements).forEach(function (i) { var n = t.styles[i] || {}, r = t.attributes[i] || {}, s = t.elements[i]; !Xn(s) || !Li(s) || (Object.assign(s.style, n), Object.keys(r).forEach(function (o) { var a = r[o]; !1 === a ? s.removeAttribute(o) : s.setAttribute(o, !0 === a ? "" : a) })) }) }, effect: function ZB(e) { var t = e.state, i = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; return Object.assign(t.elements.popper.style, i.popper), t.styles = i, t.elements.arrow && Object.assign(t.elements.arrow.style, i.arrow), function () { Object.keys(t.elements).forEach(function (n) { var r = t.elements[n], s = t.attributes[n] || {}, a = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : i[n]).reduce(function (l, c) { return l[c] = "", l }, {}); !Xn(r) || !Li(r) || (Object.assign(r.style, a), Object.keys(s).forEach(function (l) { r.removeAttribute(l) })) }) } }, requires: ["computeStyles"] }] }); const eV = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: function XB(e) { var t = e.state, n = e.name, r = e.options.offset, s = void 0 === r ? [0, 0] : r, o = Lw.reduce(function (u, h) { return u[h] = function KB(e, t, i) { var n = ki(e), r = [Hn, Vn].indexOf(n) >= 0 ? -1 : 1, s = "function" == typeof i ? i(Object.assign({}, t, { placement: e })) : i, o = s[0], a = s[1]; return o = o || 0, a = (a || 0) * r, [Hn, fi].indexOf(n) >= 0 ? { x: a, y: o } : { x: o, y: a } }(h, t.rects, s), u }, {}), a = o[t.placement], c = a.y; null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += a.x, t.modifiersData.popperOffsets.y += c), t.modifiersData[n] = o } }; function lV(e, t) { if (1 & e) { const i = Dn(); j(0, "button", 1), ce("click", function () { return on(i), an(z().close()) }), U() } } const Jw = ["*"], BV = ["dialog"]; function Wr(e) { return "string" == typeof e } function qr(e) { return null != e } function ho(e) { return (e || document.body).getBoundingClientRect() } function tC(e = document) { const t = e?.activeElement; return t ? t.shadowRoot ? tC(t.shadowRoot) : t : null } const nC = { animation: !0, transitionTimerDelayMs: 5 }, A3 = () => { }, { transitionTimerDelayMs: O3 } = nC, Ha = new Map, pn = (e, t, i, n) => { let r = n.context || {}; const s = Ha.get(t); if (s) switch (n.runningTransition) { case "continue": return Do; case "stop": e.run(() => s.transition$.complete()), r = Object.assign(s.context, r), Ha.delete(t) }const o = i(t, n.animation, r) || A3; if (!n.animation || "none" === window.getComputedStyle(t).transitionProperty) return e.run(() => o()), ds(void 0).pipe(function I3(e) { return t => new ze(i => t.subscribe({ next: o => e.run(() => i.next(o)), error: o => e.run(() => i.error(o)), complete: () => e.run(() => i.complete()) })) }(e)); const a = new ee, l = new ee, c = a.pipe(function z2(...e) { return t => Jc(t, ds(...e)) }(!0)); Ha.set(t, { transition$: a, complete: () => { l.next(), l.complete() }, context: r }); const u = function N3(e) { const { transitionDelay: t, transitionDuration: i } = window.getComputedStyle(e); return 1e3 * (parseFloat(t) + parseFloat(i)) }(t); return e.runOutsideAngular(() => { const h = Gt(t, "transitionend").pipe(Mt(c), ci(({ target: _ }) => _ === t)); CD(DD(u + O3).pipe(Mt(c)), h, l).pipe(Mt(c)).subscribe(() => { Ha.delete(t), e.run(() => { o(), a.next(), a.complete() }) }) }), a.asObservable() }; let Ua = (() => { var e; class t { constructor() { this.animation = nC.animation } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), dC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const H3 = ({ classList: e }) => { e.remove("show") }; let U3 = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.dismissible = !0, this.type = "warning" } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), j3 = (() => { var e; class t { constructor(n, r, s, o) { this._renderer = r, this._element = s, this._zone = o, this.closed = new Y, this.dismissible = n.dismissible, this.type = n.type, this.animation = n.animation } close() { const n = pn(this._zone, this._element.nativeElement, H3, { animation: this.animation, runningTransition: "continue" }); return n.subscribe(() => this.closed.emit()), n } ngOnChanges(n) { const r = n.type; r && !r.firstChange && (this._renderer.removeClass(this._element.nativeElement, `alert-${r.previousValue}`), this._renderer.addClass(this._element.nativeElement, `alert-${r.currentValue}`)) } ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(U3), v(Wn), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-alert"]], hostAttrs: ["role", "alert", 1, "alert", "show"], hostVars: 4, hostBindings: function (n, r) { 2 & n && De("fade", r.animation)("alert-dismissible", r.dismissible) }, inputs: { animation: "animation", dismissible: "dismissible", type: "type" }, outputs: { closed: "closed" }, exportAs: ["ngbAlert"], standalone: !0, features: [sn, Zn], ngContentSelectors: Jw, decls: 2, vars: 1, consts: function () { let i; return i = $localize`:@@ngb.alert.close:Close`, [["type", "button", "class", "btn-close", "aria-label", i, 3, "click", 4, "ngIf"], ["type", "button", "aria-label", i, 1, "btn-close", 3, "click"]] }, template: function (n, r) { 1 & n && (Wf(), qf(0), B(1, lV, 1, 0, "button", 0)), 2 & n && (R(1), x("ngIf", r.dismissible)) }, dependencies: [Ln], styles: ["ngb-alert{display:block}\n"], encapsulation: 2, changeDetection: 0 }), t })(), fC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), gC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), Yp = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); var Ge = function (e) { return e[e.Tab = 9] = "Tab", e[e.Enter = 13] = "Enter", e[e.Escape = 27] = "Escape", e[e.Space = 32] = "Space", e[e.PageUp = 33] = "PageUp", e[e.PageDown = 34] = "PageDown", e[e.End = 35] = "End", e[e.Home = 36] = "Home", e[e.ArrowLeft = 37] = "ArrowLeft", e[e.ArrowUp = 38] = "ArrowUp", e[e.ArrowRight = 39] = "ArrowRight", e[e.ArrowDown = 40] = "ArrowDown", e }(Ge || {}); const yu = (e, t) => !!t && t.some(i => i.contains(e)), bC = (e, t) => !t || null != function M3(e, t) { return !t || typeof e.closest > "u" ? null : e.closest(t) }(e, t), cH = typeof navigator < "u" && !!navigator.userAgent && (/iPad|iPhone|iPod/.test(navigator.userAgent) || /Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2 || /Android/.test(navigator.userAgent)); function DC(e, t, i, n, r, s, o, a) { i && e.runOutsideAngular((e => cH ? () => setTimeout(() => e(), 100) : e)(() => { const c = Gt(t, "keydown").pipe(Mt(r), ci(g => g.which === Ge.Escape), ED(g => g.preventDefault())), u = Gt(t, "mousedown").pipe(Pt(g => { const _ = g.target; return 2 !== g.button && !yu(_, o) && ("inside" === i ? yu(_, s) && bC(_, a) : "outside" === i ? !yu(_, s) : bC(_, a) || !yu(_, s)) }), Mt(r)), h = Gt(t, "mouseup").pipe(hp(u), ci(([g, _]) => _), function Y2(e, t = bD) { const i = DD(e, t); return SD(() => i) }(0), Mt(r)); CD([c.pipe(Pt(g => 0)), h.pipe(Pt(g => 1))]).subscribe(g => e.run(() => n(g))) })) } const wC = ["a[href]", "button:not([disabled])", 'input:not([disabled]):not([type="hidden"])', "select:not([disabled])", "textarea:not([disabled])", "[contenteditable]", '[tabindex]:not([tabindex="-1"])'].join(", "); function CC(e) { const t = Array.from(e.querySelectorAll(wC)).filter(i => -1 !== i.tabIndex); return [t[0], t[t.length - 1]] } let dH = (() => { var e; class t { constructor(n) { this._element = n.documentElement } isRTL() { return "rtl" === (this._element.getAttribute("dir") || "").toLowerCase() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const fH = /\s+/, hH = / +/gi, pH = { top: ["top"], bottom: ["bottom"], start: ["left", "right"], left: ["left"], end: ["right", "left"], right: ["right"], "top-start": ["top-start", "top-end"], "top-left": ["top-start"], "top-end": ["top-end", "top-start"], "top-right": ["top-end"], "bottom-start": ["bottom-start", "bottom-end"], "bottom-left": ["bottom-start"], "bottom-end": ["bottom-end", "bottom-start"], "bottom-right": ["bottom-end"], "start-top": ["left-start", "right-start"], "left-top": ["left-start"], "start-bottom": ["left-end", "right-end"], "left-bottom": ["left-end"], "end-top": ["right-start", "left-start"], "right-top": ["right-start"], "end-bottom": ["right-end", "left-end"], "right-bottom": ["right-end"] }, _H = /^left/, mH = /^right/, vH = /^start/, yH = /^end/; function SC({ placement: e, baseClass: t }, i) { let n = Array.isArray(e) ? e : e.split(fH), s = n.findIndex(c => "auto" === c); s >= 0 && ["top", "bottom", "start", "end", "top-start", "top-end", "bottom-start", "bottom-end", "start-top", "start-bottom", "end-top", "end-bottom"].forEach(function (c) { null == n.find(u => -1 !== u.search("^" + c)) && n.splice(s++, 1, c) }); const o = n.map(c => function gH(e, t) { const [i, n] = pH[e]; return t && n || i }(c, i.isRTL())); return { placement: o.shift(), modifiers: [{ name: "bootstrapClasses", enabled: !!t, phase: "write", fn({ state: c }) { const u = new RegExp(t + "(-[a-z]+)*", "gi"), h = c.elements.popper, g = c.placement; let _ = h.className; _ = _.replace(u, ""), _ += ` ${function bH(e, t) { let [i, n] = t.split("-"); const r = i.replace(_H, "start").replace(mH, "end"); let s = [r]; if (n) { let o = n; ("left" === i || "right" === i) && (o = o.replace(vH, "top").replace(yH, "bottom")), s.push(`${r}-${o}`) } return e && (s = s.map(o => `${e}-${o}`)), s.join(" ") }(t, g)}`, _ = _.trim().replace(hH, " "), h.className = _ } }, wB, TB, AB, { enabled: !0, name: "flip", options: { fallbackPlacements: o } }, { enabled: !0, name: "preventOverflow", phase: "main", fn: function () { } }] } } function TC(e) { return e } new Date(1882, 10, 12), new Date(2174, 10, 25); let kC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), OH = (() => { var e; class t { constructor() { this.autoClose = !0, this.placement = ["bottom-start", "bottom-end", "top-start", "top-end"], this.popperOptions = n => n } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), ig = (() => { var e; class t { set disabled(n) { this._disabled = "" === n || !0 === n, this._renderer.setProperty(this.elementRef.nativeElement, "disabled", this._disabled) } get disabled() { return this._disabled } constructor(n, r) { this.elementRef = n, this._renderer = r, this._disabled = !1 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownItem", ""]], hostAttrs: [1, "dropdown-item"], hostVars: 3, hostBindings: function (n, r) { 2 & n && (Yn("tabIndex", r.disabled ? -1 : 0), De("disabled", r.disabled)) }, inputs: { disabled: "disabled" }, standalone: !0 }), t })(), rg = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.placement = "bottom", this.isOpen = !1, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownMenu", ""]], contentQueries: function (n, r, s) { if (1 & n && pt(s, ig, 4), 2 & n) { let o; se(o = oe()) && (r.menuItems = o) } }, hostVars: 4, hostBindings: function (n, r) { 1 & n && ce("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Enter", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Space", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && De("dropdown-menu", !0)("show", r.dropdown.isOpen()) }, standalone: !0 }), t })(), Cu = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownAnchor", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0 }), t })(), LC = (() => { var e; class t extends Cu { constructor(n, r) { super(n, r) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownToggle", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 1 & n && ce("click", function () { return r.dropdown.toggle() })("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0, features: [$e([{ provide: Cu, useExisting: ae(() => e) }]), Oe] }), t })(), za = (() => { var e; class t { constructor(n, r, s, o, a, l) { this._changeDetector = n, this._document = s, this._ngZone = o, this._elementRef = a, this._renderer = l, this._destroyCloseHandlers$ = new ee, this._bodyContainer = null, this._open = !1, this.openChange = new Y, this.placement = r.placement, this.popperOptions = r.popperOptions, this.container = r.container, this.autoClose = r.autoClose, this._positioning = function MC() { const e = fe(dH); let t = null; return { createPopper(i) { if (!t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t = QB(i.hostElement, i.targetElement, r) } }, update() { t && t.update() }, setOptions(i) { if (t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t.setOptions(r) } }, destroy() { t && (t.destroy(), t = null) } } }() } ngOnInit() { this.display || (this.display = this._elementRef.nativeElement.closest(".navbar") ? "static" : "dynamic") } ngAfterContentInit() { this._ngZone.onStable.pipe(ui(1)).subscribe(() => { this._applyPlacementClasses(), this._open && this._setCloseHandlers() }) } ngOnChanges(n) { if (n.container && this._open && this._applyContainer(this.container), n.placement && !n.placement.firstChange && (this._positioning.setOptions({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container }), this._applyPlacementClasses()), n.dropdownClass) { const { currentValue: r, previousValue: s } = n.dropdownClass; this._applyCustomDropdownClass(r, s) } n.autoClose && this._open && (this.autoClose = n.autoClose.currentValue, this._setCloseHandlers()) } isOpen() { return this._open } open() { this._open || (this._open = !0, this._applyContainer(this.container), this.openChange.emit(!0), this._setCloseHandlers(), this._anchor && (this._anchor.nativeElement.focus(), "dynamic" === this.display && this._ngZone.runOutsideAngular(() => { this._positioning.createPopper({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container, updatePopperOptions: n => this.popperOptions(function NC(e) { return t => (t.modifiers.push(eV, { name: "offset", options: { offset: () => e } }), t) }([0, 2])(n)) }), this._applyPlacementClasses(), this._zoneSubscription = this._ngZone.onStable.subscribe(() => this._positionMenu()) }))) } _setCloseHandlers() { this._destroyCloseHandlers$.next(), DC(this._ngZone, this._document, this.autoClose, n => { this.close(), 0 === n && this._anchor.nativeElement.focus() }, this._destroyCloseHandlers$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [], ".dropdown-item,.dropdown-divider") } close() { this._open && (this._open = !1, this._resetContainer(), this._positioning.destroy(), this._zoneSubscription?.unsubscribe(), this._destroyCloseHandlers$.next(), this.openChange.emit(!1), this._changeDetector.markForCheck()) } toggle() { this.isOpen() ? this.close() : this.open() } ngOnDestroy() { this.close() } onKeyDown(n) { const r = n.which, s = this._getMenuElements(); let o = -1, a = null; const l = this._isEventFromToggle(n); if (!l && s.length && s.forEach((c, u) => { c.contains(n.target) && (a = c), c === tC(this._document) && (o = u) }), r !== Ge.Space && r !== Ge.Enter) { if (r !== Ge.Tab) { if (l || a) { if (this.open(), s.length) { switch (r) { case Ge.ArrowDown: o = Math.min(o + 1, s.length - 1); break; case Ge.ArrowUp: if (this._isDropup() && -1 === o) { o = s.length - 1; break } o = Math.max(o - 1, 0); break; case Ge.Home: o = 0; break; case Ge.End: o = s.length - 1 }s[o].focus() } n.preventDefault() } } else if (n.target && this.isOpen() && this.autoClose) { if (this._anchor.nativeElement === n.target) return void ("body" !== this.container || n.shiftKey ? n.shiftKey && this.close() : (this._renderer.setAttribute(this._menu.nativeElement, "tabindex", "0"), this._menu.nativeElement.focus(), this._renderer.removeAttribute(this._menu.nativeElement, "tabindex"))); if ("body" === this.container) { const c = this._menu.nativeElement.querySelectorAll(wC); n.shiftKey && n.target === c[0] ? (this._anchor.nativeElement.focus(), n.preventDefault()) : !n.shiftKey && n.target === c[c.length - 1] && (this._anchor.nativeElement.focus(), this.close()) } else Gt(n.target, "focusout").pipe(ui(1)).subscribe(({ relatedTarget: c }) => { this._elementRef.nativeElement.contains(c) || this.close() }) } } else a && (!0 === this.autoClose || "inside" === this.autoClose) && Gt(a, "click").pipe(ui(1)).subscribe(() => this.close()) } _isDropup() { return this._elementRef.nativeElement.classList.contains("dropup") } _isEventFromToggle(n) { return this._anchor.nativeElement.contains(n.target) } _getMenuElements() { const n = this._menu; return null == n ? [] : n.menuItems.filter(r => !r.disabled).map(r => r.elementRef.nativeElement) } _positionMenu() { const n = this._menu; this.isOpen() && n && ("dynamic" === this.display ? (this._positioning.update(), this._applyPlacementClasses()) : this._applyPlacementClasses(this._getFirstPlacement(this.placement))) } _getFirstPlacement(n) { return Array.isArray(n) ? n[0] : n.split(" ")[0] } _resetContainer() { const n = this._renderer; this._menu && n.appendChild(this._elementRef.nativeElement, this._menu.nativeElement), this._bodyContainer && (n.removeChild(this._document.body, this._bodyContainer), this._bodyContainer = null) } _applyContainer(n = null) { if (this._resetContainer(), "body" === n) { const r = this._renderer, s = this._menu.nativeElement, o = this._bodyContainer = this._bodyContainer || r.createElement("div"); r.setStyle(o, "position", "absolute"), r.setStyle(s, "position", "static"), r.setStyle(o, "z-index", "1055"), r.appendChild(o, s), r.appendChild(this._document.body, o) } this._applyCustomDropdownClass(this.dropdownClass) } _applyCustomDropdownClass(n, r) { const s = "body" === this.container ? this._bodyContainer : this._elementRef.nativeElement; s && (r && this._renderer.removeClass(s, r), n && this._renderer.addClass(s, n)) } _applyPlacementClasses(n) { const r = this._menu; if (r) { n || (n = this._getFirstPlacement(this.placement)); const s = this._renderer, o = this._elementRef.nativeElement; s.removeClass(o, "dropup"), s.removeClass(o, "dropdown"); const { nativeElement: a } = r; "static" === this.display ? (r.placement = null, s.setAttribute(a, "data-bs-popper", "static")) : (r.placement = n, s.removeAttribute(a, "data-bs-popper")); const l = -1 !== n.search("^top") ? "dropup" : "dropdown"; s.addClass(o, l); const c = this._bodyContainer; c && (s.removeClass(c, "dropup"), s.removeClass(c, "dropdown"), s.addClass(c, l)) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(OH), v(Kt), v(Se), v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdown", ""]], contentQueries: function (n, r, s) { if (1 & n && (pt(s, rg, 5), pt(s, Cu, 5)), 2 & n) { let o; se(o = oe()) && (r._menu = o.first), se(o = oe()) && (r._anchor = o.first) } }, hostVars: 2, hostBindings: function (n, r) { 2 & n && De("show", r.isOpen()) }, inputs: { autoClose: "autoClose", dropdownClass: "dropdownClass", _open: ["open", "_open"], placement: "placement", popperOptions: "popperOptions", container: "container", display: "display" }, outputs: { openChange: "openChange" }, exportAs: ["ngbDropdown"], standalone: !0, features: [sn] }), t })(), BC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); class Kr { constructor(t, i, n) { this.nodes = t, this.viewRef = i, this.componentRef = n } } let xH = (() => { var e; class t { constructor(n, r) { this._el = n, this._zone = r } ngOnInit() { this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { pn(this._zone, this._el.nativeElement, (n, r) => { r && ho(n), n.classList.add("show") }, { animation: this.animation, runningTransition: "continue" }) }) } hide() { return pn(this._zone, this._el.nativeElement, ({ classList: n }) => n.remove("show"), { animation: this.animation, runningTransition: "stop" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-backdrop"]], hostAttrs: [2, "z-index", "1055"], hostVars: 6, hostBindings: function (n, r) { 2 & n && (Rr("modal-backdrop" + (r.backdropClass ? " " + r.backdropClass : "")), De("show", !r.animation)("fade", r.animation)) }, inputs: { animation: "animation", backdropClass: "backdropClass" }, standalone: !0, features: [Zn], decls: 0, vars: 0, template: function (n, r) { }, encapsulation: 2 }), t })(); class VC { update(t) { } close(t) { } dismiss(t) { } } const RH = ["animation", "ariaLabelledBy", "ariaDescribedBy", "backdrop", "centered", "fullscreen", "keyboard", "scrollable", "size", "windowClass", "modalDialogClass"], PH = ["animation", "backdropClass"]; class FH { _applyWindowOptions(t, i) { RH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } _applyBackdropOptions(t, i) { PH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } update(t) { this._applyWindowOptions(this._windowCmptRef.instance, t), this._backdropCmptRef && this._backdropCmptRef.instance && this._applyBackdropOptions(this._backdropCmptRef.instance, t) } get componentInstance() { if (this._contentRef && this._contentRef.componentRef) return this._contentRef.componentRef.instance } get closed() { return this._closed.asObservable().pipe(Mt(this._hidden)) } get dismissed() { return this._dismissed.asObservable().pipe(Mt(this._hidden)) } get hidden() { return this._hidden.asObservable() } get shown() { return this._windowCmptRef.instance.shown.asObservable() } constructor(t, i, n, r) { this._windowCmptRef = t, this._contentRef = i, this._backdropCmptRef = n, this._beforeDismiss = r, this._closed = new ee, this._dismissed = new ee, this._hidden = new ee, t.instance.dismissEvent.subscribe(s => { this.dismiss(s) }), this.result = new Promise((s, o) => { this._resolve = s, this._reject = o }), this.result.then(null, () => { }) } close(t) { this._windowCmptRef && (this._closed.next(t), this._resolve(t), this._removeModalElements()) } _dismiss(t) { this._dismissed.next(t), this._reject(t), this._removeModalElements() } dismiss(t) { if (this._windowCmptRef) if (this._beforeDismiss) { const i = this._beforeDismiss(); !function Kw(e) { return e && e.then }(i) ? !1 !== i && this._dismiss(t) : i.then(n => { !1 !== n && this._dismiss(t) }, () => { }) } else this._dismiss(t) } _removeModalElements() { const t = this._windowCmptRef.instance.hide(), i = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : ds(void 0); t.subscribe(() => { const { nativeElement: n } = this._windowCmptRef.location; n.parentNode.removeChild(n), this._windowCmptRef.destroy(), this._contentRef && this._contentRef.viewRef && this._contentRef.viewRef.destroy(), this._windowCmptRef = null, this._contentRef = null }), i.subscribe(() => { if (this._backdropCmptRef) { const { nativeElement: n } = this._backdropCmptRef.location; n.parentNode.removeChild(n), this._backdropCmptRef.destroy(), this._backdropCmptRef = null } }), fp(t, i).subscribe(() => { this._hidden.next(), this._hidden.complete() }) } } var Wa = function (e) { return e[e.BACKDROP_CLICK = 0] = "BACKDROP_CLICK", e[e.ESC = 1] = "ESC", e }(Wa || {}); let kH = (() => { var e; class t { constructor(n, r, s) { this._document = n, this._elRef = r, this._zone = s, this._closed$ = new ee, this._elWithFocus = null, this.backdrop = !0, this.keyboard = !0, this.dismissEvent = new Y, this.shown = new ee, this.hidden = new ee } get fullscreenClass() { return !0 === this.fullscreen ? " modal-fullscreen" : Wr(this.fullscreen) ? ` modal-fullscreen-${this.fullscreen}-down` : "" } dismiss(n) { this.dismissEvent.emit(n) } ngOnInit() { this._elWithFocus = this._document.activeElement, this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { this._show() }) } ngOnDestroy() { this._disableEventHandling() } hide() { const { nativeElement: n } = this._elRef, r = { animation: this.animation, runningTransition: "stop" }, a = fp(pn(this._zone, n, () => n.classList.remove("show"), r), pn(this._zone, this._dialogEl.nativeElement, () => { }, r)); return a.subscribe(() => { this.hidden.next(), this.hidden.complete() }), this._disableEventHandling(), this._restoreFocus(), a } _show() { const n = { animation: this.animation, runningTransition: "continue" }; fp(pn(this._zone, this._elRef.nativeElement, (o, a) => { a && ho(o), o.classList.add("show") }, n), pn(this._zone, this._dialogEl.nativeElement, () => { }, n)).subscribe(() => { this.shown.next(), this.shown.complete() }), this._enableEventHandling(), this._setFocus() } _enableEventHandling() { const { nativeElement: n } = this._elRef; this._zone.runOutsideAngular(() => { Gt(n, "keydown").pipe(Mt(this._closed$), ci(s => s.which === Ge.Escape)).subscribe(s => { this.keyboard ? requestAnimationFrame(() => { s.defaultPrevented || this._zone.run(() => this.dismiss(Wa.ESC)) }) : "static" === this.backdrop && this._bumpBackdrop() }); let r = !1; Gt(this._dialogEl.nativeElement, "mousedown").pipe(Mt(this._closed$), ED(() => r = !1), Bu(() => Gt(n, "mouseup").pipe(Mt(this._closed$), ui(1))), ci(({ target: s }) => n === s)).subscribe(() => { r = !0 }), Gt(n, "click").pipe(Mt(this._closed$)).subscribe(({ target: s }) => { n === s && ("static" === this.backdrop ? this._bumpBackdrop() : !0 === this.backdrop && !r && this._zone.run(() => this.dismiss(Wa.BACKDROP_CLICK))), r = !1 }) }) } _disableEventHandling() { this._closed$.next() } _setFocus() { const { nativeElement: n } = this._elRef; if (!n.contains(document.activeElement)) { const r = n.querySelector("[ngbAutofocus]"), s = CC(n)[0]; (r || s || n).focus() } } _restoreFocus() { const n = this._document.body, r = this._elWithFocus; let s; s = r && r.focus && n.contains(r) ? r : n, this._zone.runOutsideAngular(() => { setTimeout(() => s.focus()), this._elWithFocus = null }) } _bumpBackdrop() { "static" === this.backdrop && pn(this._zone, this._elRef.nativeElement, ({ classList: n }) => (n.add("modal-static"), () => n.remove("modal-static")), { animation: this.animation, runningTransition: "continue" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Kt), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-window"]], viewQuery: function (n, r) { if (1 & n && at(BV, 7), 2 & n) { let s; se(s = oe()) && (r._dialogEl = s.first) } }, hostAttrs: ["role", "dialog", "tabindex", "-1"], hostVars: 7, hostBindings: function (n, r) { 2 & n && (Te("aria-modal", !0)("aria-labelledby", r.ariaLabelledBy)("aria-describedby", r.ariaDescribedBy), Rr("modal d-block" + (r.windowClass ? " " + r.windowClass : "")), De("fade", r.animation)) }, inputs: { animation: "animation", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", backdrop: "backdrop", centered: "centered", fullscreen: "fullscreen", keyboard: "keyboard", scrollable: "scrollable", size: "size", windowClass: "windowClass", modalDialogClass: "modalDialogClass" }, outputs: { dismissEvent: "dismiss" }, standalone: !0, features: [Zn], ngContentSelectors: Jw, decls: 4, vars: 2, consts: [["role", "document"], ["dialog", ""], [1, "modal-content"]], template: function (n, r) { 1 & n && (Wf(), j(0, "div", 0, 1)(2, "div", 2), qf(3), U()()), 2 & n && Rr("modal-dialog" + (r.size ? " modal-" + r.size : "") + (r.centered ? " modal-dialog-centered" : "") + r.fullscreenClass + (r.scrollable ? " modal-dialog-scrollable" : "") + (r.modalDialogClass ? " " + r.modalDialogClass : "")) }, styles: ["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"], encapsulation: 2 }), t })(), LH = (() => { var e; class t { constructor(n) { this._document = n } hide() { const n = Math.abs(window.innerWidth - this._document.documentElement.clientWidth), r = this._document.body, s = r.style, { overflow: o, paddingRight: a } = s; if (n > 0) { const l = parseFloat(window.getComputedStyle(r).paddingRight); s.paddingRight = `${l + n}px` } return s.overflow = "hidden", () => { n > 0 && (s.paddingRight = a), s.overflow = o } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), BH = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this._applicationRef = n, this._injector = r, this._environmentInjector = s, this._document = o, this._scrollBar = a, this._rendererFactory = l, this._ngZone = c, this._activeWindowCmptHasChanged = new ee, this._ariaHiddenValues = new Map, this._scrollBarRestoreFn = null, this._modalRefs = [], this._windowCmpts = [], this._activeInstances = new Y, this._activeWindowCmptHasChanged.subscribe(() => { if (this._windowCmpts.length) { const u = this._windowCmpts[this._windowCmpts.length - 1]; ((e, t, i, n = !1) => { e.runOutsideAngular(() => { const r = Gt(t, "focusin").pipe(Mt(i), Pt(s => s.target)); Gt(t, "keydown").pipe(Mt(i), ci(s => s.which === Ge.Tab), hp(r)).subscribe(([s, o]) => { const [a, l] = CC(t); (o === a || o === t) && s.shiftKey && (l.focus(), s.preventDefault()), o === l && !s.shiftKey && (a.focus(), s.preventDefault()) }), n && Gt(t, "click").pipe(Mt(i), hp(r), Pt(s => s[1])).subscribe(s => s.focus()) }) })(this._ngZone, u.location.nativeElement, this._activeWindowCmptHasChanged), this._revertAriaHidden(), this._setAriaHidden(u.location.nativeElement) } }) } _restoreScrollBar() { const n = this._scrollBarRestoreFn; n && (this._scrollBarRestoreFn = null, n()) } _hideScrollBar() { this._scrollBarRestoreFn || (this._scrollBarRestoreFn = this._scrollBar.hide()) } open(n, r, s) { const o = s.container instanceof HTMLElement ? s.container : qr(s.container) ? this._document.querySelector(s.container) : this._document.body, a = this._rendererFactory.createRenderer(null, null); if (!o) throw new Error(`The specified modal container "${s.container || "body"}" was not found in the DOM.`); this._hideScrollBar(); const l = new VC, c = (n = s.injector || n).get(zn, null) || this._environmentInjector, u = this._getContentRef(n, c, r, l, s); let h = !1 !== s.backdrop ? this._attachBackdrop(o) : void 0, g = this._attachWindowComponent(o, u.nodes), _ = new FH(g, u, h, s.beforeDismiss); return this._registerModalRef(_), this._registerWindowCmpt(g), _.hidden.pipe(ui(1)).subscribe(() => Promise.resolve(!0).then(() => { this._modalRefs.length || (a.removeClass(this._document.body, "modal-open"), this._restoreScrollBar(), this._revertAriaHidden()) })), l.close = y => { _.close(y) }, l.dismiss = y => { _.dismiss(y) }, l.update = y => { _.update(y) }, _.update(s), 1 === this._modalRefs.length && a.addClass(this._document.body, "modal-open"), h && h.instance && h.changeDetectorRef.detectChanges(), g.changeDetectorRef.detectChanges(), _ } get activeInstances() { return this._activeInstances } dismissAll(n) { this._modalRefs.forEach(r => r.dismiss(n)) } hasOpenModals() { return this._modalRefs.length > 0 } _attachBackdrop(n) { let r = Ph(xH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector }); return this._applicationRef.attachView(r.hostView), n.appendChild(r.location.nativeElement), r } _attachWindowComponent(n, r) { let s = Ph(kH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector, projectableNodes: r }); return this._applicationRef.attachView(s.hostView), n.appendChild(s.location.nativeElement), s } _getContentRef(n, r, s, o, a) { return s ? s instanceof nt ? this._createFromTemplateRef(s, o) : Wr(s) ? this._createFromString(s) : this._createFromComponent(n, r, s, o, a) : new Kr([]) } _createFromTemplateRef(n, r) { const o = n.createEmbeddedView({ $implicit: r, close(a) { r.close(a) }, dismiss(a) { r.dismiss(a) } }); return this._applicationRef.attachView(o), new Kr([o.rootNodes], o) } _createFromString(n) { const r = this._document.createTextNode(`${n}`); return new Kr([[r]]) } _createFromComponent(n, r, s, o, a) { const c = Ph(s, { environmentInjector: r, elementInjector: Jt.create({ providers: [{ provide: VC, useValue: o }], parent: n }) }), u = c.location.nativeElement; return a.scrollable && u.classList.add("component-host-scrollable"), this._applicationRef.attachView(c.hostView), new Kr([[u]], c.hostView, c) } _setAriaHidden(n) { const r = n.parentElement; r && n !== this._document.body && (Array.from(r.children).forEach(s => { s !== n && "SCRIPT" !== s.nodeName && (this._ariaHiddenValues.set(s, s.getAttribute("aria-hidden")), s.setAttribute("aria-hidden", "true")) }), this._setAriaHidden(r)) } _revertAriaHidden() { this._ariaHiddenValues.forEach((n, r) => { n ? r.setAttribute("aria-hidden", n) : r.removeAttribute("aria-hidden") }), this._ariaHiddenValues.clear() } _registerModalRef(n) { const r = () => { const s = this._modalRefs.indexOf(n); s > -1 && (this._modalRefs.splice(s, 1), this._activeInstances.emit(this._modalRefs)) }; this._modalRefs.push(n), this._activeInstances.emit(this._modalRefs), n.result.then(r, r) } _registerWindowCmpt(n) { this._windowCmpts.push(n), this._activeWindowCmptHasChanged.next(), n.onDestroy(() => { const r = this._windowCmpts.indexOf(n); r > -1 && (this._windowCmpts.splice(r, 1), this._activeWindowCmptHasChanged.next()) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr), L(Jt), L(zn), L(Kt), L(LH), L(mf), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), VH = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.backdrop = !0, this.fullscreen = !1, this.keyboard = !0 } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), HC = (() => { var e; class t { constructor(n, r, s) { this._injector = n, this._modalStack = r, this._config = s } open(n, r = {}) { const s = { ...this._config, animation: this._config.animation, ...r }; return this._modalStack.open(this._injector, n, s) } get activeInstances() { return this._modalStack.activeInstances } dismissAll(n) { this._modalStack.dismissAll(n) } hasOpenModals() { return this._modalStack.hasOpenModals() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt), L(BH), L(VH)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), UC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [HC] }), t })(), GC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), KC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), eE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), tE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), nE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), iE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), rE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), sE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), oE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); new W("live announcer delay", { providedIn: "root", factory: function iU() { return 100 } }); let aE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), lE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const sU = [dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE]; let oU = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [sU, dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE] }), t })(); const aU = ["ddbut"]; function lU(e, t) { if (1 & e && (j(0, "button", 8), Be(1, "i", null, 9), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.element.id), R(3), jt(i.label) } } let cU = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.attributeService = n, this.cd = r, this.frontendService = s, this.elementLookupService = a, this.callbackHelperService = l, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.dropDownMenuItems = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new uU(r, n); this.elementLookupService.addElementObject(n.id, s, n), this.dropDownMenuItems.push(s), this.cd.detectChanges(); let o = document.getElementById(n.id); if (null != o) { s.setHtmlElement(o), s.setAttributes(n.attributes), this.callbackHelperService.setCallbacks(o, n.when); let a = o.children.item(0); null != a && this.attributeService.addClasses(a, n.attributes, ["fa"], [], "icon") } }), this.cd.detectChanges(), this.setAttributes(this.element.attributes)) } setAttributes(n) { let r = this.attributeService.findAttribute("selected", n); null != r && (this.buttonLabel = r.value); let s = this.ddbut.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, ["btn"], ["btn-outline-dark"]), s.style.border_color = this.attributeService.findGetAttributeValue("border_color", n, "black"), this.cd.detectChanges() } onClick(n) { this.frontendService.operationPost(n.when[0]) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(gt), v(Bn), v(Kt), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-dropdown-menu"]], viewQuery: function (n, r) { if (1 & n && at(aU, 7), 2 & n) { let s; se(s = oe()) && (r.ddbut = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 9, vars: 3, consts: [[2, "display", "table", "min-height", "100%", "min-width", "100%"], [2, "display", "table-row", "min-width", "100%"], [2, "display", "table-cell", "vertical-align", "middle", "text-align", "center"], ["ngbDropdown", "", 1, "d-inline-block"], ["type", "button", "ngbDropdownToggle", "", "ata-toggle", "dropdown", "aria-haspopup", "true", "aria-expanded", "false", 3, "id"], ["ddbut", ""], ["ngbDropdownMenu", ""], ["ngbDropdownItem", "", 3, "id", 4, "ngFor", "ngForOf"], ["ngbDropdownItem", "", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4, 5), qe(6), U(), j(7, "div", 6), B(8, lU, 4, 2, "button", 7), U()()()()()), 2 & n && (R(4), Pn("id", null == r.element ? null : r.element.id), R(2), Ri(" ", r.buttonLabel, " "), R(2), x("ngForOf", r.dropDownMenuItems)) }, dependencies: [kn, za, LC, rg, ig] }), t })(); class uU { constructor(t, i) { this.htmlElement = null, this.label = t, this.element = i } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { if (null != this.htmlElement) { let i = $t.injector.get(Tn); i.addAttributes(this.htmlElement, t), i.textAttributes(this.htmlElement, t), i.setAttributesDirectly(this.htmlElement, t), i.addClasses(this.htmlElement, t, ["dropdown-item"], []) } } } const dU = ["label"], fU = ["middleDiv"], hU = ["outerDiv"]; let pU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.elementLabel = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.callbackService.setCallbacks(this.label.nativeElement, this.element.when), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("label", n); null != r && (this.elementLabel = r.value); let s = this.label.nativeElement, o = this.middleDiv.nativeElement, a = this.outerDiv.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, [], []), this.setOuterDivStyles(a), this.setMiddleDivStyle(o), this.setParagraphStyle(s), this.cd.detectChanges() } setOuterDivStyles(n) { n.style.display = "table", n.style.minHeight = "100%", n.style.minWidth = "100%", n.style.overflow = "hidden" } setMiddleDivStyle(n) { n.style.minWidth = "100%", n.style.display = "table-row" } setParagraphStyle(n) { n.style.display = "table-cell", n.style.verticalAlign = "middle", n.style.textAlign = "center" } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-label"]], viewQuery: function (n, r) { if (1 & n && (at(dU, 7), at(fU, 7), at(hU, 7)), 2 & n) { let s; se(s = oe()) && (r.label = s.first), se(s = oe()) && (r.middleDiv = s.first), se(s = oe()) && (r.outerDiv = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 6, vars: 1, consts: [["outerDiv", ""], ["middleDiv", ""], [3, "innerHTML"], ["label", ""]], template: function (n, r) { 1 & n && (j(0, "div", null, 0)(2, "div", null, 1), Be(4, "p", 2, 3), U()()), 2 & n && (R(4), x("innerHTML", r.elementLabel, Lm)) } }), t })(); const gU = ["theButton"]; let _U = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.disabledAttribute = !1 } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theButton.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.buttonLabel = this.attributeService.findGetAttributeValue("label", n, ""); let r = this.theButton.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addClasses(r, n, ["btn"], ["btn-info"]), this.attributeService.addGeneralAttributes(r, n), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = r.children.item(0); this.attributeService.addClasses(s, n, ["fa"], [], "icon"); let o = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == o ? this.disabledAttribute = !1 : "true" == o ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(o), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-button"]], viewQuery: function (n, r) { if (1 & n && at(gU, 5), 2 & n) { let s; se(s = oe()) && (r.theButton = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 5, vars: 2, consts: [["type", "button"], ["theButton", ""], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "button", 0, 1), Be(2, "i", null, 2), qe(4), U()), 2 & n && (Te("disabled", !!r.disabledAttribute || null), R(4), jt(r.buttonLabel)) } }), t })(); var mU = Ve(7); const vU = ["theImage"], yU = ["svgContainer"]; function bU(e, t) { if (1 & e && (j(0, "div"), Be(1, "img", 1, 2), U()), 2 & e) { const i = z(); R(1), x("src", i.imageSource, Jd) } } function DU(e, t) { 1 & e && Be(0, "div", null, 3) } let wU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.imageSource = "", this.imageType = "" } ngAfterViewInit() { if (null != this.element) { this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findAttribute("image", this.element.attributes), r = this.attributeService.findAttribute("image_type", this.element.attributes); null != n && null != r && r.value.startsWith("clingraph") ? this.svgImageHandler(this.element, n, r) : this.defaultImageHandler(this.element, n), this.cd.detectChanges() } } setAttributes(n) { console.log("TODO?") } svgImageHandler(n, r, s) { const a = /\(([^,]+),\s*([^)]+)\)/; this.imageType = "svg", this.cd.detectChanges(); let l = mU.lW.from(r.value, "base64").toString("binary"); this.svgContainer.nativeElement.innerHTML = l, this.cd.detectChanges(); let c = this.svgContainer.nativeElement.querySelectorAll(".node, .edge"), u = []; n.children.forEach(g => { let _ = this.attributeService.findAttribute("clingraph_id", g.attributes); if (null != _) { let y = _.value; if ("svg_edge" == g.type) { const b = y.match(a); if (b) { y = b[1].replaceAll('"', "") + "--" + b[2].replaceAll('"', ""); let D = b[1].replaceAll('"', "") + "->" + b[2].replaceAll('"', ""); u.push({ key: D, value: g }) } else console.error("Invalid edge format expected a tuple (X,Y) but got ", y) } u.push({ key: y, value: g }) } }); let h = this.generateSvgNodeUiNodeAssociationList(c, u); this.addEventListeners(h), this.cd.detectChanges() } generateSvgNodeUiNodeAssociationList(n, r) { let s = []; return n.forEach(o => { let a = null; r.forEach(l => { if (o.id == l.key) a = l.value; else for (const c of Array.from(o.children)) "title" == c.tagName && c.innerHTML == l.key && (a = l.value) }), null != a ? (this.elementLookupService.addElementTagHTML(a.id, o, a), s.push({ svg: o, ui: a })) : console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!") }), s } addEventListeners(n) { n.forEach(r => { this.callbackService.setCallbacks(r.svg, r.ui.when) }) } defaultImageHandler(n, r) { this.imageType = "normal", this.cd.detectChanges(); let s = this.theImage.nativeElement; this.attributeService.addAttributes(s, n.attributes), this.attributeService.textAttributes(s, n.attributes), this.attributeService.setAttributesDirectly(s, n.attributes), this.callbackService.setCallbacks(s, n.when); let o = this.attributeService.findAttribute("image_path", n.attributes); null != r ? this.imageSource = "data:image/png;base64," + r.value : null != o && (this.imageSource = o.value) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-canvas"]], viewQuery: function (n, r) { if (1 & n && (at(vU, 5), at(yU, 5)), 2 & n) { let s; se(s = oe()) && (r.theImage = s.first), se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "src"], ["theImage", ""], ["svgContainer", ""]], template: function (n, r) { 1 & n && (B(0, bU, 3, 1, "div", 0), B(1, DU, 2, 0, "div", 0)), 2 & n && (x("ngIf", "normal" == r.imageType), R(1), x("ngIf", "svg" == r.imageType)) }, dependencies: [Ln] }), t })(), CU = (() => { var e; class t { constructor() { } toUserInputASP(n, r, s, o, a) { return `user_input(${n},${r},${s},${o},${a})` } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const EU = ["svgContainer"]; function SU(e, t) { if (1 & e && Be(0, "textarea", 13), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name) } } function TU(e, t) { if (1 & e) { const i = Dn(); j(0, "input", 14), ce("click", function (r) { return on(i), an(z(2).checkClick(r)) }), U() } if (2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_checkbox_" + n.currID), x("formControlName", i.name) } } function MU(e, t) { if (1 & e && Be(0, "input", 15), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("type", i.type)("formControlName", i.name) } } function IU(e, t) { if (1 & e && (j(0, "option", 17), qe(1), U()), 2 & e) { const i = t.$implicit; Pn("value", i), R(1), jt(i) } } function NU(e, t) { if (1 & e && (j(0, "select", 13), B(1, IU, 2, 2, "option", 16), U()), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name), R(1), x("ngForOf", n.retrieveSelectOptions(i)) } } function AU(e, t) { if (1 & e && (j(0, "div")(1, "label"), qe(2), U(), Be(3, "br"), B(4, SU, 1, 2, "textarea", 10), B(5, TU, 1, 2, "input", 11), B(6, MU, 1, 3, "input", 12), B(7, NU, 2, 3, "select", 10), U()), 2 & e) { const i = t.$implicit; R(2), jt(i.name), R(2), x("ngIf", "textarea" == i.type), R(1), x("ngIf", "checkbox" == i.type), R(1), x("ngIf", "textarea" != i.type && "checkbox" != i.type && "select" != i.type), R(1), x("ngIf", "select" == i.type) } } function OU(e, t) { if (1 & e && (j(0, "h2", 18), qe(1), U()), 2 & e) { const i = z(); R(1), jt(i.errStr) } } function xU(e, t) { 1 & e && (j(0, "h2"), qe(1, "No graph was created from your request."), U()) } let RU = (() => { var e; class t { constructor(n, r, s, o, a) { this.attributeService = n, this.frontendService = r, this.fb = s, this.cd = o, this.aspService = a, this.element = null, this.optionsForm = new Hr({}), this.svgString = "", this.type = "", this.nodeOptionsList = [], this.currID = "", this.optionsList = [], this.errStr = "" } ngAfterViewInit() { if (null != this.element) { let n = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes); if (null != n) { let r = n; this.svgString = r.data, this.svgContainer.nativeElement.innerHTML = this.svgString, this.nodeOptionsList = r.option_data, console.log("NodeOptions after init:", this.nodeOptionsList), console.log("form after init: ", this.optionsForm), this.cd.detectChanges() } } } retrieveSelectOptions(n) { return "options" in n ? n.options : [] } handleNodeClick(n) { let r = n.target, s = r.parentNode; if (null !== s && "g" == s.nodeName) { let o = s.getElementsByTagName("title")[0]; if (null !== o) { const a = o.textContent; null !== a && "" !== a && (s.id.startsWith("node") ? (this.type = "node", this.updateOptions(a, "node")) : r.id.startsWith("edge") && (this.type = "edge", this.updateOptions(a, "edge"))) } } } checkClick(n) { console.log("clicked box"); let r = n.target; console.log(r.getAttribute("value")), console.log(r.getAttribute("checked")), console.log("form: ", this.optionsForm) } updateOptions(n, r) { this.optionsList.forEach(o => { o.state = this.optionsForm.value[o.name] }), this.currID = n; let s = this.nodeOptionsList.filter(o => o.id == n && o.compType == r); if (1 != s.length) console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`), this.errStr = `Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`; else { this.optionsList = s.map(a => a.options).flat(); let o = new Hr({}); this.optionsList.forEach(a => { o.addControl(a.name, new jr("checkbox" == a.type ? "true" == a.state || 1 == a.state : a.state)) }), this.optionsForm = o, console.log("form after update: ", this.optionsForm), console.log(this.nodeOptionsList) } } submitForm() { this.errStr = ""; let n = [], r = this.optionsForm.value; console.log("Form: ", r), this.optionsList.forEach(a => { a.state = r[a.name] }), this.nodeOptionsList.forEach(a => { a.options.forEach(l => { n.push(this.aspService.toUserInputASP(a.compType, a.id, l.type, l.name, l.state)) }) }); let o = { function: `graphUpdate(${n.join(",")})` }; console.log(o), this.frontendService.uncheckedPost(o) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(Bn), v(ZL), v(gt), v(CU)) }, e.\u0275cmp = et({ type: e, selectors: [["app-main-page"]], viewQuery: function (n, r) { if (1 & n && at(EU, 5), 2 & n) { let s; se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element" }, decls: 13, vars: 4, consts: [[1, "row"], [1, "col", "left", 2, "flex-grow", "1"], [3, "formGroup", "ngSubmit"], [4, "ngFor", "ngForOf"], ["type", "submit", "value", "Submit"], [1, "col", "right", 2, "overflow", "scroll", "flex-grow", "10"], ["style", "color: red;", 4, "ngIf"], [3, "click"], ["svgContainer", ""], [4, "ngIf"], [3, "id", "formControlName", 4, "ngIf"], ["type", "checkbox", 3, "id", "formControlName", "click", 4, "ngIf"], [3, "id", "type", "formControlName", 4, "ngIf"], [3, "id", "formControlName"], ["type", "checkbox", 3, "id", "formControlName", "click"], [3, "id", "type", "formControlName"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [2, "color", "red"]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "label"), qe(3, "OPTIONS"), U(), Be(4, "br"), j(5, "form", 2), ce("ngSubmit", function () { return r.submitForm() }), B(6, AU, 8, 5, "div", 3), Be(7, "input", 4), U()(), j(8, "div", 5), B(9, OU, 2, 1, "h2", 6), j(10, "div", 7, 8), ce("click", function (o) { return r.handleNodeClick(o) }), U(), B(12, xU, 2, 0, "h2", 9), U()()), 2 & n && (R(5), x("formGroup", r.optionsForm), R(1), x("ngForOf", r.optionsList), R(3), x("ngIf", r.errStr.length > 0), R(3), x("ngIf", r.svgString.length <= 0)) }, dependencies: [kn, Ln, dw, yw, Dw, Qc, pp, cu, JD, QD, lu, Ap], styles: ['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}'] }), t })(); const PU = ["theTextfield"]; let FU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.placeholder = "", this.disabledAttribute = !1, this.inputType = "text" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theTextfield.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.placeholder = this.attributeService.findGetAttributeValue("placeholder", n, ""), this.inputType = this.attributeService.findGetAttributeValue("input_type", n, "text"); let r = this.theTextfield.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addGeneralAttributes(r, n), this.attributeService.addClasses(r, n, [], []), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == s ? this.disabledAttribute = !1 : "true" == s ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(s), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-textfield"]], viewQuery: function (n, r) { if (1 & n && at(PU, 5), 2 & n) { let s; se(s = oe()) && (r.theTextfield = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 3, vars: 3, consts: [[1, "input-group"], ["aria-describedby", "basic-addon1", 1, "form-control", 3, "placeholder", "type"], ["theTextfield", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0), Be(1, "input", 1, 2), U()), 2 & n && (R(1), Pn("type", r.inputType), x("placeholder", r.placeholder), Te("disabled", !!r.disabledAttribute || null)) } }), t })(); const kU = ["child"], LU = ["content"]; function BU(e, t) { if (1 & e) { const i = Dn(); j(0, "div", 1)(1, "h4", 2), qe(2), U(), j(3, "button", 3), ce("click", function () { return an(on(i).$implicit.dismiss("Cross click")) }), U()(), j(4, "div", 4), Be(5, "app-container", 5), U() } if (2 & e) { const i = z(); R(2), jt(i.modalTitle), R(3), x("element", i.element)("parentLayout", i.parentLayout) } } let cE = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.modalService = a, this.modalRefService = l, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.modalTitle = "", this.modalRef = null, this.closeResult = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("visible", n), s = this.attributeService.findAttribute("title", n), o = this.attributeService.findAttribute("size", n); if (null != s && (this.modalTitle = s.value), null != r && null != this.element) { if ("shown" != r.value && "visible" != r.value || null != this.modalRef) null != this.modalRef && ("hidden" == r.value || "collapse" == r.value) && this.modalRef.close(); else { null != o && console.log(o.value); let a = null; a = null != o ? { ariaLabelledBy: "modal-basic-title", size: o.value } : { ariaLabelledBy: "modal-basic-title" }, this.modalRef = this.modalService.open(this.content, a), this.modalRefService.registerModal(this.element.id, this.modalRef), this.modalRef.result.then(l => { if (this.closeResult = `Closed with: ${l}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } this.modalRef = null }, l => { if (this.closeResult = `Dismissed ${this.getDismissReason(l)}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } null != this.element && this.modalRefService.removeModalByKey(this.element.id), this.modalRef = null }) } this.cd.detectChanges() } } getDismissReason(n) { return n === Wa.ESC ? "by pressing ESC" : n === Wa.BACKDROP_CLICK ? "by clicking on a backdrop" : `with: ${n}` } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt), v(HC), v(lD)) }, e.\u0275cmp = et({ type: e, selectors: [["app-modal"]], viewQuery: function (n, r) { if (1 & n && (at(kU, 5, Cn), at(LU, 5, nt)), 2 & n) { let s; se(s = oe()) && (r.child = s.first), se(s = oe()) && (r.content = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["content", ""], [1, "modal-header"], ["id", "modal-basic-title", 1, "modal-title"], ["type", "button", "aria-label", "Close", 1, "btn-close", 3, "click"], [1, "modal-body"], [3, "element", "parentLayout"]], template: function (n, r) { 1 & n && B(0, BU, 6, 3, "ng-template", null, 0, En) } }), t })(), VU = (() => { var e; class t { constructor() { } componentCreation(n, r) { let s = [{ key: "container", value: cD }, { key: "dropdown_menu", value: cU }, { key: "label", value: pU }, { key: "button", value: _U }, { key: "canvas", value: wU }, { key: "clingraph_interactive", value: RU }, { key: "textfield", value: FU }, { key: "modal", value: cE }], o = null, a = s.findIndex(l => l.key == r); return a >= 0 && (o = n.createComponent(s[a].value)), null == o && "menu_bar" != r && "context_menu" != r && "message" != r && console.log("Could not associate component key with an component: " + r), o } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Su = (() => { var e; class t { constructor(n, r, s) { this.componentService = n, this.elementLookupService = r, this.attributeService = s } bearChild(n, r, s) { let o = this.componentService.componentCreation(n, r.type); if (null != o) { o.setInput("element", r), o.setInput("parentLayout", s); let a = o.location.nativeElement; a.id = r.id, this.elementLookupService.addElementTagHTML(r.id, a, r), this.setAllTagAttributes(a, r, s) } return o } setAllTagAttributes(n, r, s) { "button" != r.type && this.attributeService.setAbsoulteRelativePositions(s, n, r), this.setChildTagAttributes(n, r) } setChildTagAttributes(n, r) { this.attributeService.setAttributesDirectly(n, r.attributes), this.attributeService.addGeneralAttributes(n, r.attributes), this.attributeService.addAttributes(n, r.attributes), "container" == r.type && (this.attributeService.setChildLayout(n, r.attributes), this.attributeService.setVisibility(n, r.attributes), this.attributeService.addClasses(n, r.attributes, [], ["p-2"])) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(VU), L(Xt), L(Tn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function HU(e, t) { if (1 & e) { const i = Dn(); j(0, "ngb-alert", 1), ce("closed", function () { return on(i), an(z().messageClosed()) }), j(1, "strong"), qe(2), U(), qe(3), U() } if (2 & e) { const i = z(); x("type", i.attrType)("dismissible", !0), R(2), jt(i.attrTitle), R(1), Ri(" ", i.attrMessage, "\n") } } let UU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.attrType = "", this.attrMessage = "", this.attrTitle = "", this.visible = "shown" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findGetAttributeValue("type", n, "warning"), s = this.attributeService.findGetAttributeValue("title", n, ""), o = this.attributeService.findGetAttributeValue("message", n, ""); this.visible = this.attributeService.findGetAttributeValue("visible", n, "shown"), "error" == r && (r = "danger"), this.attrType = r, this.attrTitle = s, this.attrMessage = o, this.cd.detectChanges() } messageClosed() { this.visible = "hidden", this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-message"]], inputs: { element: "element" }, decls: 1, vars: 1, consts: [[3, "type", "dismissible", "closed", 4, "ngIf"], [3, "type", "dismissible", "closed"]], template: function (n, r) { 1 & n && B(0, HU, 4, 4, "ngb-alert", 0), 2 & n && x("ngIf", "shown" == r.visible) }, dependencies: [Ln, j3] }), t })(); function jU(e, t) { if (1 & e && (j(0, "li", 2)(1, "a"), Be(2, "i", 3), qe(3), U()()), 2 & e) { const i = t.$implicit; x("id", i.id), R(3), jt(i.text) } } let $U = (() => { var e; class t { constructor(n, r, s) { this.cd = n, this.attributeService = r, this.callbackService = s, this.element = null, this.menuId = "", this.buttonList = [] } ngAfterViewInit() { null != this.element && (this.menuId = "menu-" + this.element.id, this.element.children.forEach(n => { let r = n.id, s = this.attributeService.findGetAttributeValue("label", n.attributes, ""); this.buttonList.push({ id: r, text: s, attributes: n.attributes }) }), this.cd.detectChanges(), this.element.children.forEach(n => { let r = document.getElementById(n.id); null != r && this.callbackService.setCallbacks(r, n.when) }), this.cd.detectChanges(), this.buttonList.forEach(n => { let r = document.getElementById(n.id); if (null != r) { this.attributeService.addClasses(r, n.attributes, ["list-group-item", "list-group-item-action"], []); let s = r.children.item(0); if (null != s) { let o = s.children.item(0); null != o && this.attributeService.addClasses(o, n.attributes, ["fa"], [], "icon") } } })) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Tn), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-context-menu"]], inputs: { element: "element" }, decls: 2, vars: 1, consts: [["id", "menuId", 1, "list-group"], [3, "id", 4, "ngFor", "ngForOf"], [3, "id"], ["aria-hidden", "true", 1, "fa"]], template: function (n, r) { 1 & n && (j(0, "ul", 0), B(1, jU, 4, 2, "li", 1), U()), 2 & n && (R(1), x("ngForOf", r.buttonList)) }, dependencies: [kn], styles: [".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"] }), t })(); const GU = ["parent"], zU = ["child"]; function WU(e, t) { } function qU(e, t) { 1 & e && (j(0, "div", 5, 6), B(2, WU, 0, 0, "ng-template", null, 7, En), U()), 2 & e && Pn("id", z().window_id) } function YU(e, t) { 1 & e && Be(0, "app-message", 10), 2 & e && x("element", t.$implicit) } function ZU(e, t) { if (1 & e && (j(0, "div", 8), B(1, YU, 1, 1, "app-message", 9), U()), 2 & e) { const i = z(); R(1), x("ngForOf", i.messageList) } } function JU(e, t) { if (1 & e && Be(0, "app-context-menu", 11), 2 & e) { const i = t.$implicit; x("id", i.id)("element", i) } } let QU = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this.childBearerService = n, this.attributeService = r, this.cd = s, this.frontendService = o, this.elementLookupService = a, this.contextMenuService = l, this.callbackService = c, this.element = null, this.children = [], this.window_id = "", this.window = null, this.menuBar = null, this.messageList = [], this.contextMenuList = [] } ngAfterViewInit() { this.frontendService.messageLists.subscribe({ next: n => { this.messageList = n, this.cd.detectChanges() } }), this.frontendService.frontendJson.subscribe({ next: n => { this.children.forEach(l => { this.child.clear() }), this.children = [], this.cleanValues(n), this.frontendService.detectCreateMenuBar(n); let r = [], s = []; this.frontendService.getAllMessagesContextMenus(n, r, s), this.frontendService.messageLists.next(r), this.frontendService.contextMenus.subscribe(l => { l.forEach(c => { this.contextMenuService.registerContextMenu(c.id, c) }), this.contextMenuList = l }), this.frontendService.contextMenus.next(s); let o = n.children[0]; this.window_id = o.id, this.element = o, this.window = o, this.cd.detectChanges(); let a = this.attributeService.findGetAttributeValue("child_layout", o.attributes, "flex"); this.elementLookupService.addElementAll(this.window_id, this, this.parent.nativeElement, o), o.children.forEach(l => { let c = this.childBearerService.bearChild(this.child, l, a); null != c && this.children.push(c) }), this.setAttributes(o.attributes), this.doCallbacks(o.when), this.cd.detectChanges() }, error: n => console.log(n) }), this.frontendService.initialGet() } setAttributes(n) { let r = this.parent.nativeElement; this.attributeService.setChildLayout(r, n), this.attributeService.addAttributes(r, n), this.attributeService.addClasses(r, n, [], []), this.cd.detectChanges() } doCallbacks(n) { this.callbackService.setCallbacks(this.parent.nativeElement, n) } cleanValues(n) { for (let r = 0; r < n.attributes.length; r++) { let s = n.attributes[r].value; s = this.stringSanitizer(s), n.attributes[r].value = s; let o = n.attributes[r].key; o = this.stringSanitizer(o), n.attributes[r].key = o, "image" != o && (s = s.replace("\\n", "
")) } for (let r = 0; r < n.when.length; r++) { void 0 !== n.when[r].event && (n.when[r].actionType = n.when[r].event), void 0 !== n.when[r].interaction_type && (n.when[r].interactionType = n.when[r].interaction_type); let s = n.when[r].operation; s = this.stringSanitizer(s), n.when[r].operation = s; let o = n.when[r].actionType; o = this.stringSanitizer(o), n.when[r].actionType = o; let a = n.when[r].interactionType; a = this.stringSanitizer(a), n.when[r].interactionType = a } n.children.forEach(r => { this.cleanValues(r) }) } stringSanitizer(n) { return null == n || (n.length > 0 && '"' == n[0] && (n = n.slice(1)), n.length > 0 && '"' == n[n.length - 1] && (n = n.slice(0, -1))), n } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(Tn), v(gt), v(Bn), v(Xt), v(Ma), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-new-main"]], viewQuery: function (n, r) { if (1 & n && (at(GU, 5), at(zU, 5, Cn)), 2 & n) { let s; se(s = oe()) && (r.parent = s.first), se(s = oe()) && (r.child = s.first) } }, decls: 5, vars: 3, consts: [["style", "margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;", 3, "id", 4, "ngIf"], ["id", "loader", 1, "myspinner", "clearfix", "p-3"], ["role", "status", 1, "spinner-border", "text-black", "float-end"], ["style", "position: fixed; bottom:0;", 4, "ngIf"], ["style", "display: none; position: absolute;", 3, "id", "element", 4, "ngFor", "ngForOf"], [2, "margin-top", "5px", "margin-bottom", "10px", "margin-right", "10px", "margin-left", "15px", 3, "id"], ["parent", ""], ["child", ""], [2, "position", "fixed", "bottom", "0"], [3, "element", 4, "ngFor", "ngForOf"], [3, "element"], [2, "display", "none", "position", "absolute", 3, "id", "element"]], template: function (n, r) { 1 & n && (B(0, qU, 4, 1, "div", 0), j(1, "div", 1), Be(2, "div", 2), U(), B(3, ZU, 2, 1, "div", 3), B(4, JU, 1, 2, "app-context-menu", 4)), 2 & n && (x("ngIf", null != r.window), R(3), x("ngIf", null != r.window), R(1), x("ngForOf", r.contextMenuList)) }, dependencies: [kn, Ln, UU, $U] }), t })(); const KU = ["titleIcon"]; function XU(e, t) { if (1 & e && (j(0, "button", 4), Be(1, "i", null, 5), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.id), R(3), Ri(" ", i.title, "") } } let ej = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.cd = n, this.displayFrontend = r, this.callbackService = s, this.attributeService = o, this.elementLookupService = a, this.callBackHelperService = l, this.element = null, this.isCollapsed = !0, this.title = "", this.menuBarButtons = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new tj(n.id, r, n); this.elementLookupService.addElementObject(n.id, s, n), this.menuBarButtons.push(s) }), this.cd.detectChanges(), this.menuBarButtons.forEach(n => { let r = document.getElementById(n.id); if (null != r) { n.setHtmlElement(r), n.setAttributes(n.element.attributes), this.attributeService.addClasses(r, n.element.attributes, ["btn-sm", "mx-1"], ["btn-outline-dark", "border-0"]), this.callBackHelperService.setCallbacks(r, n.element.when); let s = r.children.item(0); null != s && this.attributeService.addClasses(s, n.element.attributes, ["fa"], [], "icon") } }), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("title", n); null != r && (this.title = r.value), this.attributeService.addClasses(this.titleIcon.nativeElement, n, ["fa"], [], "icon"), this.cd.detectChanges() } operationExecutor(n) { null != n && this.displayFrontend.operationPost(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Bn), v(Fi), v(Tn), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-menu-bar"]], viewQuery: function (n, r) { if (1 & n && at(KU, 5), 2 & n) { let s; se(s = oe()) && (r.titleIcon = s.first) } }, inputs: { element: "element" }, decls: 7, vars: 2, consts: [[1, "navbar", "navbar-expand", "bg-light", "justify-content-between"], [1, "navbar-brand", "mx-3", "text-dark"], ["titleIcon", ""], ["type", "button", "class", "btn", 3, "id", 4, "ngFor", "ngForOf"], ["type", "button", 1, "btn", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "nav", 0)(1, "a", 1), Be(2, "i", null, 2), qe(4), U(), j(5, "div"), B(6, XU, 4, 2, "button", 3), U()()), 2 & n && (R(4), Ri(" ", r.title, " "), R(2), x("ngForOf", r.menuBarButtons)) }, dependencies: [kn] }), t })(); class tj { constructor(t, i, n) { this.id = "", this.title = "", this.htmlElement = null, this.id = t, this.title = i, this.element = n } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { let i = t.find(n => "label" == n.key); this.title = null != i ? i.value : "" } } const nj = ["contentWrapper"]; function ij(e, t) { 1 & e && Be(0, "app-menu-bar", 3), 2 & e && x("element", z().menuBar) } let rj = (() => { var e; class t { constructor(n, r, s) { this.frontendService = n, this.cd = r, this.elementLookupService = s, this.title = "Clinguin", this.menuBar = null, this.messageList = [] } ngAfterViewInit() { this.frontendService.menuBar.subscribe({ next: n => { this.menuBar = null, this.cd.detectChanges(), this.menuBar = n, this.cd.detectChanges() } }), this.contentWrapper.nativeElement.addEventListener("click", function () { $t.injector.get(Xt).elementLookup.forEach(r => { "menu_bar_section" == r.element.type && null != r.object && "collapsed" in r.object && 0 == r.object.collapsed && (r.object.collapsed = !0) }) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Bn), v(gt), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-root"]], viewQuery: function (n, r) { if (1 & n && at(nj, 5), 2 & n) { let s; se(s = oe()) && (r.contentWrapper = s.first) } }, decls: 4, vars: 1, consts: [[3, "element", 4, "ngIf"], [1, "content-wrapper"], ["contentWrapper", ""], [3, "element"]], template: function (n, r) { 1 & n && (B(0, ij, 1, 1, "app-menu-bar", 0), j(1, "div", 1, 2), Be(3, "app-new-main"), U()), 2 & n && x("ngIf", null != r.menuBar) }, dependencies: [Ln, QU, ej], styles: ["div.content-wrapper[_ngcontent-%COMP%]{padding-top:1%}"] }), t })(); function sj(e) { return () => e.load() } let oj = (() => { var e; class t { constructor(n) { this.injector = n, $t.injector = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275mod = Pe({ type: e, bootstrap: [rj] }), e.\u0275inj = Ae({ providers: [{ provide: D1, useFactory: sj, deps: [aD], multi: !0 }], imports: [Hk, QL, JL, yb, v2, oU, Yp] }), t })(); (function zg(e, t, i) { const n = e.\u0275cmp; n.directiveDefs = al(t, !1), n.pipeDefs = al(i, !0) })(cE, [cD], []), Bk().bootstrapModule(oj).catch(e => console.error(e)) }, 919: (_i, qt) => { "use strict"; qt.byteLength = function He(Z) { var le = ye(Z), Qe = le[1]; return 3 * (le[0] + Qe) / 4 - Qe }, qt.toByteArray = function ut(Z) { var le, Ct, be = ye(Z), Qe = be[0], Ke = be[1], xe = new ct(function M(Z, le, be) { return 3 * (le + be) / 4 - be }(0, Qe, Ke)), It = 0, en = Ke > 0 ? Qe - 4 : Qe; for (Ct = 0; Ct < en; Ct += 4)le = $[Z.charCodeAt(Ct)] << 18 | $[Z.charCodeAt(Ct + 1)] << 12 | $[Z.charCodeAt(Ct + 2)] << 6 | $[Z.charCodeAt(Ct + 3)], xe[It++] = le >> 16 & 255, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le; return 2 === Ke && (le = $[Z.charCodeAt(Ct)] << 2 | $[Z.charCodeAt(Ct + 1)] >> 4, xe[It++] = 255 & le), 1 === Ke && (le = $[Z.charCodeAt(Ct)] << 10 | $[Z.charCodeAt(Ct + 1)] << 4 | $[Z.charCodeAt(Ct + 2)] >> 2, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le), xe }, qt.fromByteArray = function wt(Z) { for (var le, be = Z.length, Qe = be % 3, Ke = [], It = 0, en = be - Qe; It < en; It += 16383)Ke.push(dt(Z, It, It + 16383 > en ? en : It + 16383)); return 1 === Qe ? Ke.push(Ve[(le = Z[be - 1]) >> 2] + Ve[le << 4 & 63] + "==") : 2 === Qe && Ke.push(Ve[(le = (Z[be - 2] << 8) + Z[be - 1]) >> 10] + Ve[le >> 4 & 63] + Ve[le << 2 & 63] + "="), Ke.join("") }; for (var Ve = [], $ = [], ct = typeof Uint8Array < "u" ? Uint8Array : Array, Je = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ke = 0; ke < 64; ++ke)Ve[ke] = Je[ke], $[Je.charCodeAt(ke)] = ke; function ye(Z) { var le = Z.length; if (le % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var be = Z.indexOf("="); return -1 === be && (be = le), [be, be === le ? 0 : 4 - be % 4] } function Ue(Z) { return Ve[Z >> 18 & 63] + Ve[Z >> 12 & 63] + Ve[Z >> 6 & 63] + Ve[63 & Z] } function dt(Z, le, be) { for (var Ke = [], xe = le; xe < be; xe += 3)Ke.push(Ue((Z[xe] << 16 & 16711680) + (Z[xe + 1] << 8 & 65280) + (255 & Z[xe + 2]))); return Ke.join("") } $["-".charCodeAt(0)] = 62, $["_".charCodeAt(0)] = 63 }, 7: (_i, qt, Ve) => { "use strict"; var ct = Ve(919), Je = Ve(601), ke = "function" == typeof Symbol && "function" == typeof Symbol.for ? Symbol.for("nodejs.util.inspect.custom") : null; qt.lW = M, qt.h2 = 50; var de = 2147483647; function He(p) { if (p > de) throw new RangeError('The value "' + p + '" is invalid for option "size"'); var d = new Uint8Array(p); return Object.setPrototypeOf(d, M.prototype), d } function M(p, d, f) { if ("number" == typeof p) { if ("string" == typeof d) throw new TypeError('The "string" argument must be of type string. Received type number'); return wt(p) } return ut(p, d, f) } function ut(p, d, f) { if ("string" == typeof p) return function Z(p, d) { if (("string" != typeof d || "" === d) && (d = "utf8"), !M.isEncoding(d)) throw new TypeError("Unknown encoding: " + d); var f = 0 | en(p, d), m = He(f), w = m.write(p, d); return w !== f && (m = m.slice(0, w)), m }(p, d); if (ArrayBuffer.isView(p)) return function be(p) { if (tn(p, Uint8Array)) { var d = new Uint8Array(p); return Qe(d.buffer, d.byteOffset, d.byteLength) } return le(p) }(p); if (null == p) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p); if (tn(p, ArrayBuffer) || p && tn(p.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (tn(p, SharedArrayBuffer) || p && tn(p.buffer, SharedArrayBuffer))) return Qe(p, d, f); if ("number" == typeof p) throw new TypeError('The "value" argument must not be of type number. Received type number'); var m = p.valueOf && p.valueOf(); if (null != m && m !== p) return M.from(m, d, f); var w = function Ke(p) { if (M.isBuffer(p)) { var d = 0 | xe(p.length), f = He(d); return 0 === f.length || p.copy(f, 0, 0, d), f } return void 0 !== p.length ? "number" != typeof p.length || S(p.length) ? He(0) : le(p) : "Buffer" === p.type && Array.isArray(p.data) ? le(p.data) : void 0 }(p); if (w) return w; if (typeof Symbol < "u" && null != Symbol.toPrimitive && "function" == typeof p[Symbol.toPrimitive]) return M.from(p[Symbol.toPrimitive]("string"), d, f); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p) } function Ue(p) { if ("number" != typeof p) throw new TypeError('"size" argument must be of type number'); if (p < 0) throw new RangeError('The value "' + p + '" is invalid for option "size"') } function wt(p) { return Ue(p), He(p < 0 ? 0 : 0 | xe(p)) } function le(p) { for (var d = p.length < 0 ? 0 : 0 | xe(p.length), f = He(d), m = 0; m < d; m += 1)f[m] = 255 & p[m]; return f } function Qe(p, d, f) { if (d < 0 || p.byteLength < d) throw new RangeError('"offset" is outside of buffer bounds'); if (p.byteLength < d + (f || 0)) throw new RangeError('"length" is outside of buffer bounds'); var m; return m = void 0 === d && void 0 === f ? new Uint8Array(p) : void 0 === f ? new Uint8Array(p, d) : new Uint8Array(p, d, f), Object.setPrototypeOf(m, M.prototype), m } function xe(p) { if (p >= de) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + de.toString(16) + " bytes"); return 0 | p } function en(p, d) { if (M.isBuffer(p)) return p.length; if (ArrayBuffer.isView(p) || tn(p, ArrayBuffer)) return p.byteLength; if ("string" != typeof p) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof p); var f = p.length, m = arguments.length > 2 && !0 === arguments[2]; if (!m && 0 === f) return 0; for (var w = !1; ;)switch (d) { case "ascii": case "latin1": case "binary": return f; case "utf8": case "utf-8": return Zi(p).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * f; case "hex": return f >>> 1; case "base64": return Ji(p).length; default: if (w) return m ? -1 : Zi(p).length; d = ("" + d).toLowerCase(), w = !0 } } function Ct(p, d, f) { var m = !1; if ((void 0 === d || d < 0) && (d = 0), d > this.length || ((void 0 === f || f > this.length) && (f = this.length), f <= 0) || (f >>>= 0) <= (d >>>= 0)) return ""; for (p || (p = "utf8"); ;)switch (p) { case "hex": return bo(this, d, f); case "utf8": case "utf-8": return yo(this, d, f); case "ascii": return ss(this, d, f); case "latin1": case "binary": return os(this, d, f); case "base64": return yi(this, d, f); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return as(this, d, f); default: if (m) throw new TypeError("Unknown encoding: " + p); p = (p + "").toLowerCase(), m = !0 } } function Et(p, d, f) { var m = p[d]; p[d] = p[f], p[f] = m } function mr(p, d, f, m, w) { if (0 === p.length) return -1; if ("string" == typeof f ? (m = f, f = 0) : f > 2147483647 ? f = 2147483647 : f < -2147483648 && (f = -2147483648), S(f = +f) && (f = w ? 0 : p.length - 1), f < 0 && (f = p.length + f), f >= p.length) { if (w) return -1; f = p.length - 1 } else if (f < 0) { if (!w) return -1; f = 0 } if ("string" == typeof d && (d = M.from(d, m)), M.isBuffer(d)) return 0 === d.length ? -1 : mi(p, d, f, m, w); if ("number" == typeof d) return d &= 255, "function" == typeof Uint8Array.prototype.indexOf ? w ? Uint8Array.prototype.indexOf.call(p, d, f) : Uint8Array.prototype.lastIndexOf.call(p, d, f) : mi(p, [d], f, m, w); throw new TypeError("val must be string, number or Buffer") } function mi(p, d, f, m, w) { var Ce, I = 1, N = p.length, q = d.length; if (void 0 !== m && ("ucs2" === (m = String(m).toLowerCase()) || "ucs-2" === m || "utf16le" === m || "utf-16le" === m)) { if (p.length < 2 || d.length < 2) return -1; I = 2, N /= 2, q /= 2, f /= 2 } function he(bi, st) { return 1 === I ? bi[st] : bi.readUInt16BE(st * I) } if (w) { var rt = -1; for (Ce = f; Ce < N; Ce++)if (he(p, Ce) === he(d, -1 === rt ? 0 : Ce - rt)) { if (-1 === rt && (rt = Ce), Ce - rt + 1 === q) return rt * I } else -1 !== rt && (Ce -= Ce - rt), rt = -1 } else for (f + q > N && (f = N - q), Ce = f; Ce >= 0; Ce--) { for (var Le = !0, Xe = 0; Xe < q; Xe++)if (he(p, Ce + Xe) !== he(d, Xe)) { Le = !1; break } if (Le) return Ce } return -1 } function vi(p, d, f, m) { f = Number(f) || 0; var w = p.length - f; m ? (m = Number(m)) > w && (m = w) : m = w; var I = d.length; m > I / 2 && (m = I / 2); for (var N = 0; N < m; ++N) { var q = parseInt(d.substr(2 * N, 2), 16); if (S(q)) return N; p[f + N] = q } return N } function vo(p, d, f, m) { return Qi(Zi(d, p.length - f), p, f, m) } function vr(p, d, f, m) { return Qi(function Ja(p) { for (var d = [], f = 0; f < p.length; ++f)d.push(255 & p.charCodeAt(f)); return d }(d), p, f, m) } function rs(p, d, f, m) { return Qi(Ji(d), p, f, m) } function yr(p, d, f, m) { return Qi(function Dr(p, d) { for (var f, m, I = [], N = 0; N < p.length && !((d -= 2) < 0); ++N)m = (f = p.charCodeAt(N)) >> 8, I.push(f % 256), I.push(m); return I }(d, p.length - f), p, f, m) } function yi(p, d, f) { return ct.fromByteArray(0 === d && f === p.length ? p : p.slice(d, f)) } function yo(p, d, f) { f = Math.min(p.length, f); for (var m = [], w = d; w < f;) { var he, Ce, rt, Le, I = p[w], N = null, q = I > 239 ? 4 : I > 223 ? 3 : I > 191 ? 2 : 1; if (w + q <= f) switch (q) { case 1: I < 128 && (N = I); break; case 2: 128 == (192 & (he = p[w + 1])) && (Le = (31 & I) << 6 | 63 & he) > 127 && (N = Le); break; case 3: Ce = p[w + 2], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && (Le = (15 & I) << 12 | (63 & he) << 6 | 63 & Ce) > 2047 && (Le < 55296 || Le > 57343) && (N = Le); break; case 4: Ce = p[w + 2], rt = p[w + 3], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && 128 == (192 & rt) && (Le = (15 & I) << 18 | (63 & he) << 12 | (63 & Ce) << 6 | 63 & rt) > 65535 && Le < 1114112 && (N = Le) }null === N ? (N = 65533, q = 1) : N > 65535 && (m.push((N -= 65536) >>> 10 & 1023 | 55296), N = 56320 | 1023 & N), m.push(N), w += q } return function ze(p) { var d = p.length; if (d <= br) return String.fromCharCode.apply(String, p); for (var f = "", m = 0; m < d;)f += String.fromCharCode.apply(String, p.slice(m, m += br)); return f }(m) } !(M.TYPED_ARRAY_SUPPORT = function ye() { try { var p = new Uint8Array(1), d = { foo: function () { return 42 } }; return Object.setPrototypeOf(d, Uint8Array.prototype), Object.setPrototypeOf(p, d), 42 === p.foo() } catch { return !1 } }()) && typeof console < "u" && "function" == typeof console.error && console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(M.prototype, "parent", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.buffer } }), Object.defineProperty(M.prototype, "offset", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.byteOffset } }), M.poolSize = 8192, M.from = function (p, d, f) { return ut(p, d, f) }, Object.setPrototypeOf(M.prototype, Uint8Array.prototype), Object.setPrototypeOf(M, Uint8Array), M.alloc = function (p, d, f) { return function dt(p, d, f) { return Ue(p), p <= 0 ? He(p) : void 0 !== d ? "string" == typeof f ? He(p).fill(d, f) : He(p).fill(d) : He(p) }(p, d, f) }, M.allocUnsafe = function (p) { return wt(p) }, M.allocUnsafeSlow = function (p) { return wt(p) }, M.isBuffer = function (d) { return null != d && !0 === d._isBuffer && d !== M.prototype }, M.compare = function (d, f) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), tn(f, Uint8Array) && (f = M.from(f, f.offset, f.byteLength)), !M.isBuffer(d) || !M.isBuffer(f)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (d === f) return 0; for (var m = d.length, w = f.length, I = 0, N = Math.min(m, w); I < N; ++I)if (d[I] !== f[I]) { m = d[I], w = f[I]; break } return m < w ? -1 : w < m ? 1 : 0 }, M.isEncoding = function (d) { switch (String(d).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, M.concat = function (d, f) { if (!Array.isArray(d)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === d.length) return M.alloc(0); var m; if (void 0 === f) for (f = 0, m = 0; m < d.length; ++m)f += d[m].length; var w = M.allocUnsafe(f), I = 0; for (m = 0; m < d.length; ++m) { var N = d[m]; if (tn(N, Uint8Array)) I + N.length > w.length ? M.from(N).copy(w, I) : Uint8Array.prototype.set.call(w, N, I); else { if (!M.isBuffer(N)) throw new TypeError('"list" argument must be an Array of Buffers'); N.copy(w, I) } I += N.length } return w }, M.byteLength = en, M.prototype._isBuffer = !0, M.prototype.swap16 = function () { var d = this.length; if (d % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var f = 0; f < d; f += 2)Et(this, f, f + 1); return this }, M.prototype.swap32 = function () { var d = this.length; if (d % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var f = 0; f < d; f += 4)Et(this, f, f + 3), Et(this, f + 1, f + 2); return this }, M.prototype.swap64 = function () { var d = this.length; if (d % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var f = 0; f < d; f += 8)Et(this, f, f + 7), Et(this, f + 1, f + 6), Et(this, f + 2, f + 5), Et(this, f + 3, f + 4); return this }, M.prototype.toLocaleString = M.prototype.toString = function () { var d = this.length; return 0 === d ? "" : 0 === arguments.length ? yo(this, 0, d) : Ct.apply(this, arguments) }, M.prototype.equals = function (d) { if (!M.isBuffer(d)) throw new TypeError("Argument must be a Buffer"); return this === d || 0 === M.compare(this, d) }, M.prototype.inspect = function () { var d = "", f = qt.h2; return d = this.toString("hex", 0, f).replace(/(.{2})/g, "$1 ").trim(), this.length > f && (d += " ... "), "" }, ke && (M.prototype[ke] = M.prototype.inspect), M.prototype.compare = function (d, f, m, w, I) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), !M.isBuffer(d)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof d); if (void 0 === f && (f = 0), void 0 === m && (m = d ? d.length : 0), void 0 === w && (w = 0), void 0 === I && (I = this.length), f < 0 || m > d.length || w < 0 || I > this.length) throw new RangeError("out of range index"); if (w >= I && f >= m) return 0; if (w >= I) return -1; if (f >= m) return 1; if (this === d) return 0; for (var N = (I >>>= 0) - (w >>>= 0), q = (m >>>= 0) - (f >>>= 0), he = Math.min(N, q), Ce = this.slice(w, I), rt = d.slice(f, m), Le = 0; Le < he; ++Le)if (Ce[Le] !== rt[Le]) { N = Ce[Le], q = rt[Le]; break } return N < q ? -1 : q < N ? 1 : 0 }, M.prototype.includes = function (d, f, m) { return -1 !== this.indexOf(d, f, m) }, M.prototype.indexOf = function (d, f, m) { return mr(this, d, f, m, !0) }, M.prototype.lastIndexOf = function (d, f, m) { return mr(this, d, f, m, !1) }, M.prototype.write = function (d, f, m, w) { if (void 0 === f) w = "utf8", m = this.length, f = 0; else if (void 0 === m && "string" == typeof f) w = f, m = this.length, f = 0; else { if (!isFinite(f)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); f >>>= 0, isFinite(m) ? (m >>>= 0, void 0 === w && (w = "utf8")) : (w = m, m = void 0) } var I = this.length - f; if ((void 0 === m || m > I) && (m = I), d.length > 0 && (m < 0 || f < 0) || f > this.length) throw new RangeError("Attempt to write outside buffer bounds"); w || (w = "utf8"); for (var N = !1; ;)switch (w) { case "hex": return vi(this, d, f, m); case "utf8": case "utf-8": return vo(this, d, f, m); case "ascii": case "latin1": case "binary": return vr(this, d, f, m); case "base64": return rs(this, d, f, m); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return yr(this, d, f, m); default: if (N) throw new TypeError("Unknown encoding: " + w); w = ("" + w).toLowerCase(), N = !0 } }, M.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var br = 4096; function ss(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(127 & p[w]); return m } function os(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(p[w]); return m } function bo(p, d, f) { var m = p.length; (!d || d < 0) && (d = 0), (!f || f < 0 || f > m) && (f = m); for (var w = "", I = d; I < f; ++I)w += E[p[I]]; return w } function as(p, d, f) { for (var m = p.slice(d, f), w = "", I = 0; I < m.length - 1; I += 2)w += String.fromCharCode(m[I] + 256 * m[I + 1]); return w } function ee(p, d, f) { if (p % 1 != 0 || p < 0) throw new RangeError("offset is not uint"); if (p + d > f) throw new RangeError("Trying to access beyond buffer length") } function Rt(p, d, f, m, w, I) { if (!M.isBuffer(p)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (d > w || d < I) throw new RangeError('"value" argument is out of bounds'); if (f + m > p.length) throw new RangeError("Index out of range") } function ls(p, d, f, m, w, I) { if (f + m > p.length) throw new RangeError("Index out of range"); if (f < 0) throw new RangeError("Index out of range") } function mt(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 4), Je.write(p, d, f, m, 23, 4), f + 4 } function ft(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 8), Je.write(p, d, f, m, 52, 8), f + 8 } M.prototype.slice = function (d, f) { var m = this.length; (d = ~~d) < 0 ? (d += m) < 0 && (d = 0) : d > m && (d = m), (f = void 0 === f ? m : ~~f) < 0 ? (f += m) < 0 && (f = 0) : f > m && (f = m), f < d && (f = d); var w = this.subarray(d, f); return Object.setPrototypeOf(w, M.prototype), w }, M.prototype.readUintLE = M.prototype.readUIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w }, M.prototype.readUintBE = M.prototype.readUIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d + --f], I = 1; f > 0 && (I *= 256);)w += this[d + --f] * I; return w }, M.prototype.readUint8 = M.prototype.readUInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), this[d] }, M.prototype.readUint16LE = M.prototype.readUInt16LE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] | this[d + 1] << 8 }, M.prototype.readUint16BE = M.prototype.readUInt16BE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] << 8 | this[d + 1] }, M.prototype.readUint32LE = M.prototype.readUInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), (this[d] | this[d + 1] << 8 | this[d + 2] << 16) + 16777216 * this[d + 3] }, M.prototype.readUint32BE = M.prototype.readUInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), 16777216 * this[d] + (this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3]) }, M.prototype.readIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w >= (I *= 128) && (w -= Math.pow(2, 8 * f)), w }, M.prototype.readIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = f, I = 1, N = this[d + --w]; w > 0 && (I *= 256);)N += this[d + --w] * I; return N >= (I *= 128) && (N -= Math.pow(2, 8 * f)), N }, M.prototype.readInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), 128 & this[d] ? -1 * (255 - this[d] + 1) : this[d] }, M.prototype.readInt16LE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d] | this[d + 1] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt16BE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d + 1] | this[d] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] | this[d + 1] << 8 | this[d + 2] << 16 | this[d + 3] << 24 }, M.prototype.readInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] << 24 | this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3] }, M.prototype.readFloatLE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !0, 23, 4) }, M.prototype.readFloatBE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !1, 23, 4) }, M.prototype.readDoubleLE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !0, 52, 8) }, M.prototype.readDoubleBE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !1, 52, 8) }, M.prototype.writeUintLE = M.prototype.writeUIntLE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = 1, q = 0; for (this[f] = 255 & d; ++q < m && (N *= 256);)this[f + q] = d / N & 255; return f + m }, M.prototype.writeUintBE = M.prototype.writeUIntBE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = m - 1, q = 1; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)this[f + N] = d / q & 255; return f + m }, M.prototype.writeUint8 = M.prototype.writeUInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 255, 0), this[f] = 255 & d, f + 1 }, M.prototype.writeUint16LE = M.prototype.writeUInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeUint16BE = M.prototype.writeUInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeUint32LE = M.prototype.writeUInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f + 3] = d >>> 24, this[f + 2] = d >>> 16, this[f + 1] = d >>> 8, this[f] = 255 & d, f + 4 }, M.prototype.writeUint32BE = M.prototype.writeUInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeIntLE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = 0, q = 1, he = 0; for (this[f] = 255 & d; ++N < m && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N - 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeIntBE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = m - 1, q = 1, he = 0; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N + 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 127, -128), d < 0 && (d = 255 + d + 1), this[f] = 255 & d, f + 1 }, M.prototype.writeInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), this[f] = 255 & d, this[f + 1] = d >>> 8, this[f + 2] = d >>> 16, this[f + 3] = d >>> 24, f + 4 }, M.prototype.writeInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), d < 0 && (d = 4294967295 + d + 1), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeFloatLE = function (d, f, m) { return mt(this, d, f, !0, m) }, M.prototype.writeFloatBE = function (d, f, m) { return mt(this, d, f, !1, m) }, M.prototype.writeDoubleLE = function (d, f, m) { return ft(this, d, f, !0, m) }, M.prototype.writeDoubleBE = function (d, f, m) { return ft(this, d, f, !1, m) }, M.prototype.copy = function (d, f, m, w) { if (!M.isBuffer(d)) throw new TypeError("argument should be a Buffer"); if (m || (m = 0), !w && 0 !== w && (w = this.length), f >= d.length && (f = d.length), f || (f = 0), w > 0 && w < m && (w = m), w === m || 0 === d.length || 0 === this.length) return 0; if (f < 0) throw new RangeError("targetStart out of bounds"); if (m < 0 || m >= this.length) throw new RangeError("Index out of range"); if (w < 0) throw new RangeError("sourceEnd out of bounds"); w > this.length && (w = this.length), d.length - f < w - m && (w = d.length - f + m); var I = w - m; return this === d && "function" == typeof Uint8Array.prototype.copyWithin ? this.copyWithin(f, m, w) : Uint8Array.prototype.set.call(d, this.subarray(m, w), f), I }, M.prototype.fill = function (d, f, m, w) { if ("string" == typeof d) { if ("string" == typeof f ? (w = f, f = 0, m = this.length) : "string" == typeof m && (w = m, m = this.length), void 0 !== w && "string" != typeof w) throw new TypeError("encoding must be a string"); if ("string" == typeof w && !M.isEncoding(w)) throw new TypeError("Unknown encoding: " + w); if (1 === d.length) { var I = d.charCodeAt(0); ("utf8" === w && I < 128 || "latin1" === w) && (d = I) } } else "number" == typeof d ? d &= 255 : "boolean" == typeof d && (d = Number(d)); if (f < 0 || this.length < f || this.length < m) throw new RangeError("Out of range index"); if (m <= f) return this; var N; if (f >>>= 0, m = void 0 === m ? this.length : m >>> 0, d || (d = 0), "number" == typeof d) for (N = f; N < m; ++N)this[N] = d; else { var q = M.isBuffer(d) ? d : M.from(d, w), he = q.length; if (0 === he) throw new TypeError('The value "' + d + '" is invalid for argument "value"'); for (N = 0; N < m - f; ++N)this[N + f] = q[N % he] } return this }; var cs = /[^+/0-9A-Za-z-_]/g; function Zi(p, d) { d = d || 1 / 0; for (var f, m = p.length, w = null, I = [], N = 0; N < m; ++N) { if ((f = p.charCodeAt(N)) > 55295 && f < 57344) { if (!w) { if (f > 56319) { (d -= 3) > -1 && I.push(239, 191, 189); continue } if (N + 1 === m) { (d -= 3) > -1 && I.push(239, 191, 189); continue } w = f; continue } if (f < 56320) { (d -= 3) > -1 && I.push(239, 191, 189), w = f; continue } f = 65536 + (w - 55296 << 10 | f - 56320) } else w && (d -= 3) > -1 && I.push(239, 191, 189); if (w = null, f < 128) { if ((d -= 1) < 0) break; I.push(f) } else if (f < 2048) { if ((d -= 2) < 0) break; I.push(f >> 6 | 192, 63 & f | 128) } else if (f < 65536) { if ((d -= 3) < 0) break; I.push(f >> 12 | 224, f >> 6 & 63 | 128, 63 & f | 128) } else { if (!(f < 1114112)) throw new Error("Invalid code point"); if ((d -= 4) < 0) break; I.push(f >> 18 | 240, f >> 12 & 63 | 128, f >> 6 & 63 | 128, 63 & f | 128) } } return I } function Ji(p) { return ct.toByteArray(function Pt(p) { if ((p = (p = p.split("=")[0]).trim().replace(cs, "")).length < 2) return ""; for (; p.length % 4 != 0;)p += "="; return p }(p)) } function Qi(p, d, f, m) { for (var w = 0; w < m && !(w + f >= d.length || w >= p.length); ++w)d[w + f] = p[w]; return w } function tn(p, d) { return p instanceof d || null != p && null != p.constructor && null != p.constructor.name && p.constructor.name === d.name } function S(p) { return p != p } var E = function () { for (var p = "0123456789abcdef", d = new Array(256), f = 0; f < 16; ++f)for (var m = 16 * f, w = 0; w < 16; ++w)d[m + w] = p[f] + p[w]; return d }() }, 601: (_i, qt) => { qt.read = function (Ve, $, ct, Je, ke) { var de, ye, He = 8 * ke - Je - 1, M = (1 << He) - 1, ut = M >> 1, Ue = -7, dt = ct ? ke - 1 : 0, wt = ct ? -1 : 1, Z = Ve[$ + dt]; for (dt += wt, de = Z & (1 << -Ue) - 1, Z >>= -Ue, Ue += He; Ue > 0; de = 256 * de + Ve[$ + dt], dt += wt, Ue -= 8); for (ye = de & (1 << -Ue) - 1, de >>= -Ue, Ue += Je; Ue > 0; ye = 256 * ye + Ve[$ + dt], dt += wt, Ue -= 8); if (0 === de) de = 1 - ut; else { if (de === M) return ye ? NaN : 1 / 0 * (Z ? -1 : 1); ye += Math.pow(2, Je), de -= ut } return (Z ? -1 : 1) * ye * Math.pow(2, de - Je) }, qt.write = function (Ve, $, ct, Je, ke, de) { var ye, He, M, ut = 8 * de - ke - 1, Ue = (1 << ut) - 1, dt = Ue >> 1, wt = 23 === ke ? Math.pow(2, -24) - Math.pow(2, -77) : 0, Z = Je ? 0 : de - 1, le = Je ? 1 : -1, be = $ < 0 || 0 === $ && 1 / $ < 0 ? 1 : 0; for ($ = Math.abs($), isNaN($) || $ === 1 / 0 ? (He = isNaN($) ? 1 : 0, ye = Ue) : (ye = Math.floor(Math.log($) / Math.LN2), $ * (M = Math.pow(2, -ye)) < 1 && (ye--, M *= 2), ($ += ye + dt >= 1 ? wt / M : wt * Math.pow(2, 1 - dt)) * M >= 2 && (ye++, M /= 2), ye + dt >= Ue ? (He = 0, ye = Ue) : ye + dt >= 1 ? (He = ($ * M - 1) * Math.pow(2, ke), ye += dt) : (He = $ * Math.pow(2, dt - 1) * Math.pow(2, ke), ye = 0)); ke >= 8; Ve[ct + Z] = 255 & He, Z += le, He /= 256, ke -= 8); for (ye = ye << ke | He, ut += ke; ut > 0; Ve[ct + Z] = 255 & ye, Z += le, ye /= 256, ut -= 8); Ve[ct + Z - le] |= 128 * be } }, 614: () => { "use strict"; const _i = ":"; const Ji = function (S, ...E) { if (Ji.translate) { const d = Ji.translate(S, E); S = d[0], E = d[1] } let p = tn(S[0], S.raw[0]); for (let d = 1; d < S.length; d++)p += E[d - 1] + tn(S[d], S.raw[d]); return p }, Qi = ":"; function tn(S, E) { return E.charAt(0) === Qi ? S.substring(function as(S, E) { for (let p = 1, d = 1; p < S.length; p++, d++)if ("\\" === E[d]) d++; else if (S[p] === _i) return p; throw new Error(`Unterminated $localize metadata block in "${E}".`) }(S, E) + 1) : S } globalThis.$localize = Ji } }, _i => { var qt = $ => _i(_i.s = $); qt(614), qt(362) }]); \ No newline at end of file +(self.webpackChunkClinGraphViz = self.webpackChunkClinGraphViz || []).push([[179], { 362: (_i, qt, Ve) => { "use strict"; function $(e) { return "function" == typeof e } function ct(e) { const i = e(n => { Error.call(n), n.stack = (new Error).stack }); return i.prototype = Object.create(Error.prototype), i.prototype.constructor = i, i } const Je = ct(e => function (i) { e(this), this.message = i ? `${i.length} errors occurred during unsubscription:\n${i.map((n, r) => `${r + 1}) ${n.toString()}`).join("\n ")}` : "", this.name = "UnsubscriptionError", this.errors = i }); function ke(e, t) { if (e) { const i = e.indexOf(t); 0 <= i && e.splice(i, 1) } } class de { constructor(t) { this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null } unsubscribe() { let t; if (!this.closed) { this.closed = !0; const { _parentage: i } = this; if (i) if (this._parentage = null, Array.isArray(i)) for (const s of i) s.remove(this); else i.remove(this); const { initialTeardown: n } = this; if ($(n)) try { n() } catch (s) { t = s instanceof Je ? s.errors : [s] } const { _finalizers: r } = this; if (r) { this._finalizers = null; for (const s of r) try { M(s) } catch (o) { t = t ?? [], o instanceof Je ? t = [...t, ...o.errors] : t.push(o) } } if (t) throw new Je(t) } } add(t) { var i; if (t && t !== this) if (this.closed) M(t); else { if (t instanceof de) { if (t.closed || t._hasParent(this)) return; t._addParent(this) } (this._finalizers = null !== (i = this._finalizers) && void 0 !== i ? i : []).push(t) } } _hasParent(t) { const { _parentage: i } = this; return i === t || Array.isArray(i) && i.includes(t) } _addParent(t) { const { _parentage: i } = this; this._parentage = Array.isArray(i) ? (i.push(t), i) : i ? [i, t] : t } _removeParent(t) { const { _parentage: i } = this; i === t ? this._parentage = null : Array.isArray(i) && ke(i, t) } remove(t) { const { _finalizers: i } = this; i && ke(i, t), t instanceof de && t._removeParent(this) } } de.EMPTY = (() => { const e = new de; return e.closed = !0, e })(); const ye = de.EMPTY; function He(e) { return e instanceof de || e && "closed" in e && $(e.remove) && $(e.add) && $(e.unsubscribe) } function M(e) { $(e) ? e() : e.unsubscribe() } const ut = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: !1, useDeprecatedNextContext: !1 }, Ue = { setTimeout(e, t, ...i) { const { delegate: n } = Ue; return n?.setTimeout ? n.setTimeout(e, t, ...i) : setTimeout(e, t, ...i) }, clearTimeout(e) { const { delegate: t } = Ue; return (t?.clearTimeout || clearTimeout)(e) }, delegate: void 0 }; function dt(e) { Ue.setTimeout(() => { const { onUnhandledError: t } = ut; if (!t) throw e; t(e) }) } function wt() { } const Z = Qe("C", void 0, void 0); function Qe(e, t, i) { return { kind: e, value: t, error: i } } let Ke = null; function xe(e) { if (ut.useDeprecatedSynchronousErrorHandling) { const t = !Ke; if (t && (Ke = { errorThrown: !1, error: null }), e(), t) { const { errorThrown: i, error: n } = Ke; if (Ke = null, i) throw n } } else e() } class en extends de { constructor(t) { super(), this.isStopped = !1, t ? (this.destination = t, He(t) && t.add(this)) : this.destination = rs } static create(t, i, n) { return new mi(t, i, n) } next(t) { this.isStopped ? vr(function be(e) { return Qe("N", e, void 0) }(t), this) : this._next(t) } error(t) { this.isStopped ? vr(function le(e) { return Qe("E", void 0, e) }(t), this) : (this.isStopped = !0, this._error(t)) } complete() { this.isStopped ? vr(Z, this) : (this.isStopped = !0, this._complete()) } unsubscribe() { this.closed || (this.isStopped = !0, super.unsubscribe(), this.destination = null) } _next(t) { this.destination.next(t) } _error(t) { try { this.destination.error(t) } finally { this.unsubscribe() } } _complete() { try { this.destination.complete() } finally { this.unsubscribe() } } } const Ct = Function.prototype.bind; function Et(e, t) { return Ct.call(e, t) } class mr { constructor(t) { this.partialObserver = t } next(t) { const { partialObserver: i } = this; if (i.next) try { i.next(t) } catch (n) { vi(n) } } error(t) { const { partialObserver: i } = this; if (i.error) try { i.error(t) } catch (n) { vi(n) } else vi(t) } complete() { const { partialObserver: t } = this; if (t.complete) try { t.complete() } catch (i) { vi(i) } } } class mi extends en { constructor(t, i, n) { let r; if (super(), $(t) || !t) r = { next: t ?? void 0, error: i ?? void 0, complete: n ?? void 0 }; else { let s; this && ut.useDeprecatedNextContext ? (s = Object.create(t), s.unsubscribe = () => this.unsubscribe(), r = { next: t.next && Et(t.next, s), error: t.error && Et(t.error, s), complete: t.complete && Et(t.complete, s) }) : r = t } this.destination = new mr(r) } } function vi(e) { ut.useDeprecatedSynchronousErrorHandling ? function It(e) { ut.useDeprecatedSynchronousErrorHandling && Ke && (Ke.errorThrown = !0, Ke.error = e) }(e) : dt(e) } function vr(e, t) { const { onStoppedNotification: i } = ut; i && Ue.setTimeout(() => i(e, t)) } const rs = { closed: !0, next: wt, error: function vo(e) { throw e }, complete: wt }, yr = "function" == typeof Symbol && Symbol.observable || "@@observable"; function yi(e) { return e } let ze = (() => { class e { constructor(i) { i && (this._subscribe = i) } lift(i) { const n = new e; return n.source = this, n.operator = i, n } subscribe(i, n, r) { const s = function bo(e) { return e && e instanceof en || function os(e) { return e && $(e.next) && $(e.error) && $(e.complete) }(e) && He(e) }(i) ? i : new mi(i, n, r); return xe(() => { const { operator: o, source: a } = this; s.add(o ? o.call(s, a) : a ? this._subscribe(s) : this._trySubscribe(s)) }), s } _trySubscribe(i) { try { return this._subscribe(i) } catch (n) { i.error(n) } } forEach(i, n) { return new (n = ss(n))((r, s) => { const o = new mi({ next: a => { try { i(a) } catch (l) { s(l), o.unsubscribe() } }, error: s, complete: r }); this.subscribe(o) }) } _subscribe(i) { var n; return null === (n = this.source) || void 0 === n ? void 0 : n.subscribe(i) } [yr]() { return this } pipe(...i) { return function br(e) { return 0 === e.length ? yi : 1 === e.length ? e[0] : function (i) { return e.reduce((n, r) => r(n), i) } }(i)(this) } toPromise(i) { return new (i = ss(i))((n, r) => { let s; this.subscribe(o => s = o, o => r(o), () => n(s)) }) } } return e.create = t => new e(t), e })(); function ss(e) { var t; return null !== (t = e ?? ut.Promise) && void 0 !== t ? t : Promise } const as = ct(e => function () { e(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed" }); let ee = (() => { class e extends ze { constructor() { super(), this.closed = !1, this.currentObservers = null, this.observers = [], this.isStopped = !1, this.hasError = !1, this.thrownError = null } lift(i) { const n = new Rt(this, this); return n.operator = i, n } _throwIfClosed() { if (this.closed) throw new as } next(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (const n of this.currentObservers) n.next(i) } }) } error(i) { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = !0, this.thrownError = i; const { observers: n } = this; for (; n.length;)n.shift().error(i) } }) } complete() { xe(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = !0; const { observers: i } = this; for (; i.length;)i.shift().complete() } }) } unsubscribe() { this.isStopped = this.closed = !0, this.observers = this.currentObservers = null } get observed() { var i; return (null === (i = this.observers) || void 0 === i ? void 0 : i.length) > 0 } _trySubscribe(i) { return this._throwIfClosed(), super._trySubscribe(i) } _subscribe(i) { return this._throwIfClosed(), this._checkFinalizedStatuses(i), this._innerSubscribe(i) } _innerSubscribe(i) { const { hasError: n, isStopped: r, observers: s } = this; return n || r ? ye : (this.currentObservers = null, s.push(i), new de(() => { this.currentObservers = null, ke(s, i) })) } _checkFinalizedStatuses(i) { const { hasError: n, thrownError: r, isStopped: s } = this; n ? i.error(r) : s && i.complete() } asObservable() { const i = new ze; return i.source = this, i } } return e.create = (t, i) => new Rt(t, i), e })(); class Rt extends ee { constructor(t, i) { super(), this.destination = t, this.source = i } next(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.next) || void 0 === n || n.call(i, t) } error(t) { var i, n; null === (n = null === (i = this.destination) || void 0 === i ? void 0 : i.error) || void 0 === n || n.call(i, t) } complete() { var t, i; null === (i = null === (t = this.destination) || void 0 === t ? void 0 : t.complete) || void 0 === i || i.call(t) } _subscribe(t) { var i, n; return null !== (n = null === (i = this.source) || void 0 === i ? void 0 : i.subscribe(t)) && void 0 !== n ? n : ye } } function mt(e) { return t => { if (function ls(e) { return $(e?.lift) }(t)) return t.lift(function (i) { try { return e(i, this) } catch (n) { this.error(n) } }); throw new TypeError("Unable to lift unknown Observable type") } } function ft(e, t, i, n, r) { return new cs(e, t, i, n, r) } class cs extends en { constructor(t, i, n, r, s, o) { super(t), this.onFinalize = s, this.shouldUnsubscribe = o, this._next = i ? function (a) { try { i(a) } catch (l) { t.error(l) } } : super._next, this._error = r ? function (a) { try { r(a) } catch (l) { t.error(l) } finally { this.unsubscribe() } } : super._error, this._complete = n ? function () { try { n() } catch (a) { t.error(a) } finally { this.unsubscribe() } } : super._complete } unsubscribe() { var t; if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { const { closed: i } = this; super.unsubscribe(), !i && (null === (t = this.onFinalize) || void 0 === t || t.call(this)) } } } function Pt(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => { n.next(e.call(t, s, r++)) })) }) } function Xe(e) { return this instanceof Xe ? (this.v = e, this) : new Xe(e) } function Ki(e) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var i, t = e[Symbol.asyncIterator]; return t ? t.call(e) : (e = function q(e) { var t = "function" == typeof Symbol && Symbol.iterator, i = t && e[t], n = 0; if (i) return i.call(e); if (e && "number" == typeof e.length) return { next: function () { return e && n >= e.length && (e = void 0), { value: e && e[n++], done: !e } } }; throw new TypeError(t ? "Object is not iterable." : "Symbol.iterator is not defined.") }(e), i = {}, n("next"), n("throw"), n("return"), i[Symbol.asyncIterator] = function () { return this }, i); function n(s) { i[s] = e[s] && function (o) { return new Promise(function (a, l) { !function r(s, o, a, l) { Promise.resolve(l).then(function (c) { s({ value: c, done: a }) }, o) }(a, l, (o = e[s](o)).done, o.value) }) } } } "function" == typeof SuppressedError && SuppressedError; const Pu = e => e && "number" == typeof e.length && "function" != typeof e; function ug(e) { return $(e?.then) } function dg(e) { return $(e[yr]) } function fg(e) { return Symbol.asyncIterator && $(e?.[Symbol.asyncIterator]) } function hg(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 pg = function TE() { return "function" == typeof Symbol && Symbol.iterator ? Symbol.iterator : "@@iterator" }(); function gg(e) { return $(e?.[pg]) } function _g(e) { return function bi(e, t, i) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); var r, n = i.apply(e, t || []), s = []; return r = {}, o("next"), o("throw"), o("return"), r[Symbol.asyncIterator] = function () { return this }, r; function o(g) { n[g] && (r[g] = function (_) { return new Promise(function (y, b) { s.push([g, _, y, b]) > 1 || a(g, _) }) }) } function a(g, _) { try { !function l(g) { g.value instanceof Xe ? Promise.resolve(g.value.v).then(c, u) : h(s[0][2], g) }(n[g](_)) } catch (y) { h(s[0][3], y) } } function c(g) { a("next", g) } function u(g) { a("throw", g) } function h(g, _) { g(_), s.shift(), s.length && a(s[0][0], s[0][1]) } }(this, arguments, function* () { const i = e.getReader(); try { for (; ;) { const { value: n, done: r } = yield Xe(i.read()); if (r) return yield Xe(void 0); yield yield Xe(n) } } finally { i.releaseLock() } }) } function mg(e) { return $(e?.getReader) } function Ft(e) { if (e instanceof ze) return e; if (null != e) { if (dg(e)) return function ME(e) { return new ze(t => { const i = e[yr](); if ($(i.subscribe)) return i.subscribe(t); throw new TypeError("Provided object does not correctly implement Symbol.observable") }) }(e); if (Pu(e)) return function IE(e) { return new ze(t => { for (let i = 0; i < e.length && !t.closed; i++)t.next(e[i]); t.complete() }) }(e); if (ug(e)) return function NE(e) { return new ze(t => { e.then(i => { t.closed || (t.next(i), t.complete()) }, i => t.error(i)).then(null, dt) }) }(e); if (fg(e)) return vg(e); if (gg(e)) return function AE(e) { return new ze(t => { for (const i of e) if (t.next(i), t.closed) return; t.complete() }) }(e); if (mg(e)) return function OE(e) { return vg(_g(e)) }(e) } throw hg(e) } function vg(e) { return new ze(t => { (function xE(e, t) { var i, n, r, s; return function m(e, t, i, n) { return new (i || (i = Promise))(function (s, o) { function a(u) { try { c(n.next(u)) } catch (h) { o(h) } } function l(u) { try { c(n.throw(u)) } catch (h) { o(h) } } function c(u) { u.done ? s(u.value) : function r(s) { return s instanceof i ? s : new i(function (o) { o(s) }) }(u.value).then(a, l) } c((n = n.apply(e, t || [])).next()) }) }(this, void 0, void 0, function* () { try { for (i = Ki(e); !(n = yield i.next()).done;)if (t.next(n.value), t.closed) return } catch (o) { r = { error: o } } finally { try { n && !n.done && (s = i.return) && (yield s.call(i)) } finally { if (r) throw r.error } } t.complete() }) })(e, t).catch(i => t.error(i)) }) } function Xi(e, t, i, n = 0, r = !1) { const s = t.schedule(function () { i(), r ? e.add(this.schedule(null, n)) : this.unsubscribe() }, n); if (e.add(s), !r) return s } function us(e, t, i = 1 / 0) { return $(t) ? us((n, r) => Pt((s, o) => t(n, s, r, o))(Ft(e(n, r))), i) : ("number" == typeof t && (i = t), mt((n, r) => function RE(e, t, i, n, r, s, o, a) { const l = []; let c = 0, u = 0, h = !1; const g = () => { h && !l.length && !c && t.complete() }, _ = b => c < n ? y(b) : l.push(b), y = b => { s && t.next(b), c++; let D = !1; Ft(i(b, u++)).subscribe(ft(t, T => { r?.(T), s ? _(T) : t.next(T) }, () => { D = !0 }, void 0, () => { if (D) try { for (c--; l.length && c < n;) { const T = l.shift(); o ? Xi(t, o, () => y(T)) : y(T) } g() } catch (T) { t.error(T) } })) }; return e.subscribe(ft(t, _, () => { h = !0, g() })), () => { a?.() } }(n, r, e, i))) } function yg(e = 1 / 0) { return us(yi, e) } const Do = new ze(e => e.complete()); function bg(e) { return e && $(e.schedule) } function Fu(e) { return e[e.length - 1] } function ku(e) { return $(Fu(e)) ? e.pop() : void 0 } function Qa(e) { return bg(Fu(e)) ? e.pop() : void 0 } function Dg(e, t = 0) { return mt((i, n) => { i.subscribe(ft(n, r => Xi(n, e, () => n.next(r), t), () => Xi(n, e, () => n.complete(), t), r => Xi(n, e, () => n.error(r), t))) }) } function wg(e, t = 0) { return mt((i, n) => { n.add(e.schedule(() => i.subscribe(n), t)) }) } function Cg(e, t) { if (!e) throw new Error("Iterable cannot be null"); return new ze(i => { Xi(i, t, () => { const n = e[Symbol.asyncIterator](); Xi(i, t, () => { n.next().then(r => { r.done ? i.complete() : i.next(r.value) }) }, 0, !0) }) }) } function wo(e, t) { return t ? function UE(e, t) { if (null != e) { if (dg(e)) return function kE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (Pu(e)) return function BE(e, t) { return new ze(i => { let n = 0; return t.schedule(function () { n === e.length ? i.complete() : (i.next(e[n++]), i.closed || this.schedule()) }) }) }(e, t); if (ug(e)) return function LE(e, t) { return Ft(e).pipe(wg(t), Dg(t)) }(e, t); if (fg(e)) return Cg(e, t); if (gg(e)) return function VE(e, t) { return new ze(i => { let n; return Xi(i, t, () => { n = e[pg](), Xi(i, t, () => { let r, s; try { ({ value: r, done: s } = n.next()) } catch (o) { return void i.error(o) } s ? i.complete() : i.next(r) }, 0, !0) }), () => $(n?.return) && n.return() }) }(e, t); if (mg(e)) return function HE(e, t) { return Cg(_g(e), t) }(e, t) } throw hg(e) }(e, t) : Ft(e) } class jE extends ee { constructor(t) { super(), this._value = t } get value() { return this.getValue() } _subscribe(t) { const i = super._subscribe(t); return !i.closed && t.next(this._value), i } getValue() { const { hasError: t, thrownError: i, _value: n } = this; if (t) throw i; return this._throwIfClosed(), n } next(t) { super.next(this._value = t) } } function ds(...e) { return wo(e, Qa(e)) } function Sg(e = {}) { const { connector: t = (() => new ee), resetOnError: i = !0, resetOnComplete: n = !0, resetOnRefCountZero: r = !0 } = e; return s => { let o, a, l, c = 0, u = !1, h = !1; const g = () => { a?.unsubscribe(), a = void 0 }, _ = () => { g(), o = l = void 0, u = h = !1 }, y = () => { const b = o; _(), b?.unsubscribe() }; return mt((b, D) => { c++, !h && !u && g(); const T = l = l ?? t(); D.add(() => { c--, 0 === c && !h && !u && (a = Lu(y, r)) }), T.subscribe(D), !o && c > 0 && (o = new mi({ next: C => T.next(C), error: C => { h = !0, g(), a = Lu(_, i, C), T.error(C) }, complete: () => { u = !0, g(), a = Lu(_, n), T.complete() } }), Ft(b).subscribe(o)) })(s) } } function Lu(e, t, ...i) { if (!0 === t) return void e(); if (!1 === t) return; const n = new mi({ next: () => { n.unsubscribe(), e() } }); return Ft(t(...i)).subscribe(n) } function Bu(e, t) { return mt((i, n) => { let r = null, s = 0, o = !1; const a = () => o && !r && n.complete(); i.subscribe(ft(n, l => { r?.unsubscribe(); let c = 0; const u = s++; Ft(e(l, u)).subscribe(r = ft(n, h => n.next(t ? t(l, h, u, c++) : h), () => { r = null, a() })) }, () => { o = !0, a() })) }) } function $E(e, t) { return e === t } function Re(e) { for (let t in e) if (e[t] === Re) return t; throw Error("Could not find renamed property on target object.") } function Ka(e, t) { for (const i in t) t.hasOwnProperty(i) && !e.hasOwnProperty(i) && (e[i] = t[i]) } function Nt(e) { if ("string" == typeof e) return e; if (Array.isArray(e)) return "[" + e.map(Nt).join(", ") + "]"; if (null == e) return "" + e; if (e.overriddenName) return `${e.overriddenName}`; if (e.name) return `${e.name}`; const t = e.toString(); if (null == t) return "" + t; const i = t.indexOf("\n"); return -1 === i ? t : t.substring(0, i) } function Vu(e, t) { return null == e || "" === e ? null === t ? "" : t : null == t || "" === t ? e : e + " " + t } const GE = Re({ __forward_ref__: Re }); function ae(e) { return e.__forward_ref__ = ae, e.toString = function () { return Nt(this()) }, e } function X(e) { return Hu(e) ? e() : e } function Hu(e) { return "function" == typeof e && e.hasOwnProperty(GE) && e.__forward_ref__ === ae } function Uu(e) { return e && !!e.\u0275providers } const Mg = "https://g.co/ng/security#xss"; class F extends Error { constructor(t, i) { super(function Xa(e, t) { return `NG0${Math.abs(e)}${t ? ": " + t : ""}` }(t, i)), this.code = t } } function te(e) { return "string" == typeof e ? e : null == e ? "" : String(e) } function ju(e, t) { throw new F(-201, !1) } function $n(e, t) { null == e && function Q(e, t, i, n) { throw new Error(`ASSERTION ERROR: ${e}` + (null == n ? "" : ` [Expected=> ${i} ${n} ${t} <=Actual]`)) }(t, e, null, "!=") } function G(e) { return { token: e.token, providedIn: e.providedIn || null, factory: e.factory, value: void 0 } } function Ae(e) { return { providers: e.providers || [], imports: e.imports || [] } } function el(e) { return Ig(e, nl) || Ig(e, Ng) } function Ig(e, t) { return e.hasOwnProperty(t) ? e[t] : null } function tl(e) { return e && (e.hasOwnProperty($u) || e.hasOwnProperty(QE)) ? e[$u] : null } const nl = Re({ \u0275prov: Re }), $u = Re({ \u0275inj: Re }), Ng = Re({ ngInjectableDef: Re }), QE = Re({ ngInjectorDef: Re }); var ge = function (e) { return e[e.Default = 0] = "Default", e[e.Host = 1] = "Host", e[e.Self = 2] = "Self", e[e.SkipSelf = 4] = "SkipSelf", e[e.Optional = 8] = "Optional", e }(ge || {}); let Gu; function _n(e) { const t = Gu; return Gu = e, t } function Og(e, t, i) { const n = el(e); return n && "root" == n.providedIn ? void 0 === n.value ? n.value = n.factory() : n.value : i & ge.Optional ? null : void 0 !== t ? t : void ju(Nt(e)) } const je = globalThis, Co = {}, Zu = "__NG_DI_FLAG__", il = "ngTempTokenPath", eS = /\n/gm, Rg = "__source"; let fs; function er(e) { const t = fs; return fs = e, t } function iS(e, t = ge.Default) { if (void 0 === fs) throw new F(-203, !1); return null === fs ? Og(e, void 0, t) : fs.get(e, t & ge.Optional ? null : void 0, t) } function L(e, t = ge.Default) { return (function Ag() { return Gu }() || iS)(X(e), t) } function fe(e, t = ge.Default) { return L(e, rl(t)) } function rl(e) { return typeof e > "u" || "number" == typeof e ? e : 0 | (e.optional && 8) | (e.host && 1) | (e.self && 2) | (e.skipSelf && 4) } function Ju(e) { const t = []; for (let i = 0; i < e.length; i++) { const n = X(e[i]); if (Array.isArray(n)) { if (0 === n.length) throw new F(900, !1); let r, s = ge.Default; for (let o = 0; o < n.length; o++) { const a = n[o], l = rS(a); "number" == typeof l ? -1 === l ? r = a.token : s |= l : r = a } t.push(L(r, s)) } else t.push(L(n)) } return t } function Eo(e, t) { return e[Zu] = t, e.prototype[Zu] = t, e } function rS(e) { return e[Zu] } function Bi(e) { return { toString: e }.toString() } var sl = function (e) { return e[e.OnPush = 0] = "OnPush", e[e.Default = 1] = "Default", e }(sl || {}), ei = function (e) { return e[e.Emulated = 0] = "Emulated", e[e.None = 2] = "None", e[e.ShadowDom = 3] = "ShadowDom", e }(ei || {}); const Di = {}, Ee = [], ol = Re({ \u0275cmp: Re }), Qu = Re({ \u0275dir: Re }), Ku = Re({ \u0275pipe: Re }), Fg = Re({ \u0275mod: Re }), Vi = Re({ \u0275fac: Re }), So = Re({ __NG_ELEMENT_ID__: Re }), kg = Re({ __NG_ENV_ID__: Re }); function Lg(e, t, i) { let n = e.length; for (; ;) { const r = e.indexOf(t, i); if (-1 === r) return r; if (0 === r || e.charCodeAt(r - 1) <= 32) { const s = t.length; if (r + s === n || e.charCodeAt(r + s) <= 32) return r } i = r + 1 } } function Xu(e, t, i) { let n = 0; for (; n < i.length;) { const r = i[n]; if ("number" == typeof r) { if (0 !== r) break; n++; const s = i[n++], o = i[n++], a = i[n++]; e.setAttribute(t, o, a, s) } else { const s = r, o = i[++n]; Vg(s) ? e.setProperty(t, s, o) : e.setAttribute(t, s, o), n++ } } return n } function Bg(e) { return 3 === e || 4 === e || 6 === e } function Vg(e) { return 64 === e.charCodeAt(0) } function To(e, t) { if (null !== t && 0 !== t.length) if (null === e || 0 === e.length) e = t.slice(); else { let i = -1; for (let n = 0; n < t.length; n++) { const r = t[n]; "number" == typeof r ? i = r : 0 === i || Hg(e, i, r, null, -1 === i || 2 === i ? t[++n] : null) } } return e } function Hg(e, t, i, n, r) { let s = 0, o = e.length; if (-1 === t) o = -1; else for (; s < e.length;) { const a = e[s++]; if ("number" == typeof a) { if (a === t) { o = -1; break } if (a > t) { o = s - 1; break } } } for (; s < e.length;) { const a = e[s]; if ("number" == typeof a) break; if (a === i) { if (null === n) return void (null !== r && (e[s + 1] = r)); if (n === e[s + 1]) return void (e[s + 2] = r) } s++, null !== n && s++, null !== r && s++ } -1 !== o && (e.splice(o, 0, t), s = o + 1), e.splice(s++, 0, i), null !== n && e.splice(s++, 0, n), null !== r && e.splice(s++, 0, r) } const Ug = "ng-template"; function aS(e, t, i) { let n = 0, r = !0; for (; n < e.length;) { let s = e[n++]; if ("string" == typeof s && r) { const o = e[n++]; if (i && "class" === s && -1 !== Lg(o.toLowerCase(), t, 0)) return !0 } else { if (1 === s) { for (; n < e.length && "string" == typeof (s = e[n++]);)if (s.toLowerCase() === t) return !0; return !1 } "number" == typeof s && (r = !1) } } return !1 } function jg(e) { return 4 === e.type && e.value !== Ug } function lS(e, t, i) { return t === (4 !== e.type || i ? e.value : Ug) } function cS(e, t, i) { let n = 4; const r = e.attrs || [], s = function fS(e) { for (let t = 0; t < e.length; t++)if (Bg(e[t])) return t; return e.length }(r); let o = !1; for (let a = 0; a < t.length; a++) { const l = t[a]; if ("number" != typeof l) { if (!o) if (4 & n) { if (n = 2 | 1 & n, "" !== l && !lS(e, l, i) || "" === l && 1 === t.length) { if (ti(n)) return !1; o = !0 } } else { const c = 8 & n ? l : t[++a]; if (8 & n && null !== e.attrs) { if (!aS(e.attrs, c, i)) { if (ti(n)) return !1; o = !0 } continue } const h = uS(8 & n ? "class" : l, r, jg(e), i); if (-1 === h) { if (ti(n)) return !1; o = !0; continue } if ("" !== c) { let g; g = h > s ? "" : r[h + 1].toLowerCase(); const _ = 8 & n ? g : null; if (_ && -1 !== Lg(_, c, 0) || 2 & n && c !== g) { if (ti(n)) return !1; o = !0 } } } } else { if (!o && !ti(n) && !ti(l)) return !1; if (o && ti(l)) continue; o = !1, n = l | 1 & n } } return ti(n) || o } function ti(e) { return 0 == (1 & e) } function uS(e, t, i, n) { if (null === t) return -1; let r = 0; if (n || !i) { let s = !1; for (; r < t.length;) { const o = t[r]; if (o === e) return r; if (3 === o || 6 === o) s = !0; else { if (1 === o || 2 === o) { let a = t[++r]; for (; "string" == typeof a;)a = t[++r]; continue } if (4 === o) break; if (0 === o) { r += 4; continue } } r += s ? 1 : 2 } return -1 } return function hS(e, t) { let i = e.indexOf(4); if (i > -1) for (i++; i < e.length;) { const n = e[i]; if ("number" == typeof n) return -1; if (n === t) return i; i++ } return -1 }(t, e) } function $g(e, t, i = !1) { for (let n = 0; n < t.length; n++)if (cS(e, t[n], i)) return !0; return !1 } function pS(e, t) { e: for (let i = 0; i < t.length; i++) { const n = t[i]; if (e.length === n.length) { for (let r = 0; r < e.length; r++)if (e[r] !== n[r]) continue e; return !0 } } return !1 } function Gg(e, t) { return e ? ":not(" + t.trim() + ")" : t } function gS(e) { let t = e[0], i = 1, n = 2, r = "", s = !1; for (; i < e.length;) { let o = e[i]; if ("string" == typeof o) if (2 & n) { const a = e[++i]; r += "[" + o + (a.length > 0 ? '="' + a + '"' : "") + "]" } else 8 & n ? r += "." + o : 4 & n && (r += " " + o); else "" !== r && !ti(o) && (t += Gg(s, r), r = ""), n = o, s = s || !ti(n); i++ } return "" !== r && (t += Gg(s, r)), t } function et(e) { return Bi(() => { const t = qg(e), i = { ...t, decls: e.decls, vars: e.vars, template: e.template, consts: e.consts || null, ngContentSelectors: e.ngContentSelectors, onPush: e.changeDetection === sl.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e.dependencies || null, getStandaloneInjector: null, signals: e.signals ?? !1, data: e.data || {}, encapsulation: e.encapsulation || ei.Emulated, styles: e.styles || Ee, _: null, schemas: e.schemas || null, tView: null, id: "" }; Yg(i); const n = e.dependencies; return i.directiveDefs = al(n, !1), i.pipeDefs = al(n, !0), i.id = function wS(e) { let t = 0; const i = [e.selectors, e.ngContentSelectors, e.hostVars, e.hostAttrs, e.consts, e.vars, e.decls, e.encapsulation, e.standalone, e.signals, e.exportAs, JSON.stringify(e.inputs), JSON.stringify(e.outputs), Object.getOwnPropertyNames(e.type.prototype), !!e.contentQueries, !!e.viewQuery].join("|"); for (const r of i) t = Math.imul(31, t) + r.charCodeAt(0) << 0; return t += 2147483648, "c" + t }(i), i }) } function vS(e) { return me(e) || Vt(e) } function yS(e) { return null !== e } function Pe(e) { return Bi(() => ({ type: e.type, bootstrap: e.bootstrap || Ee, declarations: e.declarations || Ee, imports: e.imports || Ee, exports: e.exports || Ee, transitiveCompileScopes: null, schemas: e.schemas || null, id: e.id || null })) } function Wg(e, t) { if (null == e) return Di; const i = {}; for (const n in e) if (e.hasOwnProperty(n)) { let r = e[n], s = r; Array.isArray(r) && (s = r[1], r = r[0]), i[r] = n, t && (t[r] = s) } return i } function k(e) { return Bi(() => { const t = qg(e); return Yg(t), t }) } function me(e) { return e[ol] || null } function Vt(e) { return e[Qu] || null } function nn(e) { return e[Ku] || null } function qg(e) { const t = {}; 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: t, inputTransforms: null, inputConfig: e.inputs || Di, exportAs: e.exportAs || null, standalone: !0 === e.standalone, signals: !0 === e.signals, selectors: e.selectors || Ee, viewQuery: e.viewQuery || null, features: e.features || null, setInput: null, findHostDirectiveDefs: null, hostDirectives: null, inputs: Wg(e.inputs, t), outputs: Wg(e.outputs) } } function Yg(e) { e.features?.forEach(t => t(e)) } function al(e, t) { if (!e) return null; const i = t ? nn : vS; return () => ("function" == typeof e ? e() : e).map(n => i(n)).filter(yS) } const ht = 0, H = 1, ie = 2, tt = 3, ni = 4, Io = 5, Yt = 6, hs = 7, vt = 8, tr = 9, ps = 10, ne = 11, No = 12, Zg = 13, gs = 14, yt = 15, Ao = 16, _s = 17, wi = 18, Oo = 19, Jg = 20, nr = 21, Hi = 22, ll = 23, cl = 24, pe = 25, ed = 1, Qg = 2, Ci = 7, ms = 9, Ht = 11; function vn(e) { return Array.isArray(e) && "object" == typeof e[ed] } function rn(e) { return Array.isArray(e) && !0 === e[ed] } function td(e) { return 0 != (4 & e.flags) } function Cr(e) { return e.componentOffset > -1 } function dl(e) { return 1 == (1 & e.flags) } function ii(e) { return !!e.template } function nd(e) { return 0 != (512 & e[ie]) } function Er(e, t) { return e.hasOwnProperty(Vi) ? e[Vi] : null } let IS = je.WeakRef ?? class MS { constructor(t) { this.ref = t } deref() { return this.ref } }, AS = 0, Ei = null, fl = !1; function kt(e) { const t = Ei; return Ei = e, t } class n_ { constructor() { this.id = AS++, this.ref = function NS(e) { return new IS(e) }(this), this.producers = new Map, this.consumers = new Map, this.trackingVersion = 0, this.valueVersion = 0 } consumerPollProducersForChange() { for (const [t, i] of this.producers) { const n = i.producerNode.deref(); if (null != n && i.atTrackingVersion === this.trackingVersion) { if (n.producerPollStatus(i.seenValueVersion)) return !0 } else this.producers.delete(t), n?.consumers.delete(this.id) } return !1 } producerMayHaveChanged() { const t = fl; fl = !0; try { for (const [i, n] of this.consumers) { const r = n.consumerNode.deref(); null != r && r.trackingVersion === n.atTrackingVersion ? r.onConsumerDependencyMayHaveChanged() : (this.consumers.delete(i), r?.producers.delete(this.id)) } } finally { fl = t } } producerAccessed() { if (fl) throw new Error(""); if (null === Ei) return; let t = Ei.producers.get(this.id); void 0 === t ? (t = { consumerNode: Ei.ref, producerNode: this.ref, seenValueVersion: this.valueVersion, atTrackingVersion: Ei.trackingVersion }, Ei.producers.set(this.id, t), this.consumers.set(Ei.id, t)) : (t.seenValueVersion = this.valueVersion, t.atTrackingVersion = Ei.trackingVersion) } get hasProducers() { return this.producers.size > 0 } get producerUpdatesAllowed() { return !1 !== Ei?.consumerAllowSignalWrites } producerPollStatus(t) { return this.valueVersion !== t || (this.onProducerUpdateValueVersion(), this.valueVersion !== t) } } let i_ = null; const s_ = () => { }; class PS extends n_ { constructor(t, i, n) { super(), this.watch = t, this.schedule = i, this.dirty = !1, this.cleanupFn = s_, this.registerOnCleanup = r => { this.cleanupFn = r }, this.consumerAllowSignalWrites = n } notify() { this.dirty || this.schedule(this), this.dirty = !0 } onConsumerDependencyMayHaveChanged() { this.notify() } onProducerUpdateValueVersion() { } run() { if (this.dirty = !1, 0 !== this.trackingVersion && !this.consumerPollProducersForChange()) return; const t = kt(this); this.trackingVersion++; try { this.cleanupFn(), this.cleanupFn = s_, this.watch(this.registerOnCleanup) } finally { kt(t) } } cleanup() { this.cleanupFn() } } class FS { constructor(t, i, n) { this.previousValue = t, this.currentValue = i, this.firstChange = n } isFirstChange() { return this.firstChange } } function sn() { return o_ } function o_(e) { return e.type.prototype.ngOnChanges && (e.setInput = LS), kS } function kS() { const e = l_(this), t = e?.current; if (t) { const i = e.previous; if (i === Di) e.previous = t; else for (let n in t) i[n] = t[n]; e.current = null, this.ngOnChanges(t) } } function LS(e, t, i, n) { const r = this.declaredInputs[i], s = l_(e) || function BS(e, t) { return e[a_] = t }(e, { previous: Di, current: null }), o = s.current || (s.current = {}), a = s.previous, l = a[r]; o[r] = new FS(l && l.currentValue, t, a === Di), e[n] = t } sn.ngInherit = !0; const a_ = "__ngSimpleChanges__"; function l_(e) { return e[a_] || null } const Si = function (e, t, i) { }; function We(e) { for (; Array.isArray(e);)e = e[ht]; return e } function gl(e, t) { return We(t[e]) } function yn(e, t) { return We(t[e.index]) } function d_(e, t) { return e.data[t] } function On(e, t) { const i = t[e]; return vn(i) ? i : i[ht] } function ir(e, t) { return null == t ? null : e[t] } function f_(e) { e[_s] = 0 } function GS(e) { 1024 & e[ie] || (e[ie] |= 1024, p_(e, 1)) } function h_(e) { 1024 & e[ie] && (e[ie] &= -1025, p_(e, -1)) } function p_(e, t) { let i = e[tt]; if (null === i) return; i[Io] += t; let n = i; for (i = i[tt]; null !== i && (1 === t && 1 === n[Io] || -1 === t && 0 === n[Io]);)i[Io] += t, n = i, i = i[tt] } const K = { lFrame: S_(null), bindingsEnabled: !0, skipHydrationRootTNode: null }; function m_() { return K.bindingsEnabled } function ys() { return null !== K.skipHydrationRootTNode } function A() { return K.lFrame.lView } function ve() { return K.lFrame.tView } function on(e) { return K.lFrame.contextLView = e, e[vt] } function an(e) { return K.lFrame.contextLView = null, e } function Ut() { let e = v_(); for (; null !== e && 64 === e.type;)e = e.parent; return e } function v_() { return K.lFrame.currentTNode } function Ti(e, t) { const i = K.lFrame; i.currentTNode = e, i.isParent = t } function cd() { return K.lFrame.isParent } function ud() { K.lFrame.isParent = !1 } function bs() { return K.lFrame.bindingIndex++ } function ji(e) { const t = K.lFrame, i = t.bindingIndex; return t.bindingIndex = t.bindingIndex + e, i } function nT(e, t) { const i = K.lFrame; i.bindingIndex = i.bindingRootIndex = e, dd(t) } function dd(e) { K.lFrame.currentDirectiveIndex = e } function w_() { return K.lFrame.currentQueryIndex } function hd(e) { K.lFrame.currentQueryIndex = e } function rT(e) { const t = e[H]; return 2 === t.type ? t.declTNode : 1 === t.type ? e[Yt] : null } function C_(e, t, i) { if (i & ge.SkipSelf) { let r = t, s = e; for (; !(r = r.parent, null !== r || i & ge.Host || (r = rT(s), null === r || (s = s[gs], 10 & r.type)));); if (null === r) return !1; t = r, e = s } const n = K.lFrame = E_(); return n.currentTNode = t, n.lView = e, !0 } function pd(e) { const t = E_(), i = e[H]; K.lFrame = t, t.currentTNode = i.firstChild, t.lView = e, t.tView = i, t.contextLView = e, t.bindingIndex = i.bindingStartIndex, t.inI18n = !1 } function E_() { const e = K.lFrame, t = null === e ? null : e.child; return null === t ? S_(e) : t } function S_(e) { const t = { 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 = t), t } function T_() { const e = K.lFrame; return K.lFrame = e.parent, e.currentTNode = null, e.lView = null, e } const M_ = T_; function gd() { const e = T_(); 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 cn() { return K.lFrame.selectedIndex } function Sr(e) { K.lFrame.selectedIndex = e } function ot() { const e = K.lFrame; return d_(e.tView, e.selectedIndex) } let N_ = !0; function _l() { return N_ } function rr(e) { N_ = e } function ml(e, t) { for (let i = t.directiveStart, n = t.directiveEnd; i < n; i++) { const s = e.data[i].type.prototype, { ngAfterContentInit: o, ngAfterContentChecked: a, ngAfterViewInit: l, ngAfterViewChecked: c, ngOnDestroy: u } = s; o && (e.contentHooks ??= []).push(-i, o), a && ((e.contentHooks ??= []).push(i, a), (e.contentCheckHooks ??= []).push(i, a)), l && (e.viewHooks ??= []).push(-i, l), c && ((e.viewHooks ??= []).push(i, c), (e.viewCheckHooks ??= []).push(i, c)), null != u && (e.destroyHooks ??= []).push(i, u) } } function vl(e, t, i) { A_(e, t, 3, i) } function yl(e, t, i, n) { (3 & e[ie]) === i && A_(e, t, i, n) } function _d(e, t) { let i = e[ie]; (3 & i) === t && (i &= 8191, i += 1, e[ie] = i) } function A_(e, t, i, n) { const s = n ?? -1, o = t.length - 1; let a = 0; for (let l = void 0 !== n ? 65535 & e[_s] : 0; l < o; l++)if ("number" == typeof t[l + 1]) { if (a = t[l], null != n && a >= n) break } else t[l] < 0 && (e[_s] += 65536), (a < s || -1 == s) && (fT(e, i, t, l), e[_s] = (4294901760 & e[_s]) + l + 2), l++ } function O_(e, t) { Si(4, e, t); const i = kt(null); try { t.call(e) } finally { kt(i), Si(5, e, t) } } function fT(e, t, i, n) { const r = i[n] < 0, s = i[n + 1], a = e[r ? -i[n] : i[n]]; r ? e[ie] >> 13 < e[_s] >> 16 && (3 & e[ie]) === t && (e[ie] += 8192, O_(a, s)) : O_(a, s) } const Ds = -1; class Po { constructor(t, i, n) { this.factory = t, this.resolving = !1, this.canSeeViewProviders = i, this.injectImpl = n } } function vd(e) { return e !== Ds } function Fo(e) { return 32767 & e } function ko(e, t) { let i = function _T(e) { return e >> 16 }(e), n = t; for (; i > 0;)n = n[gs], i--; return n } let yd = !0; function bl(e) { const t = yd; return yd = e, t } const x_ = 255, R_ = 5; let mT = 0; const Mi = {}; function Dl(e, t) { const i = P_(e, t); if (-1 !== i) return i; const n = t[H]; n.firstCreatePass && (e.injectorIndex = t.length, bd(n.data, e), bd(t, null), bd(n.blueprint, null)); const r = wl(e, t), s = e.injectorIndex; if (vd(r)) { const o = Fo(r), a = ko(r, t), l = a[H].data; for (let c = 0; c < 8; c++)t[s + c] = a[o + c] | l[o + c] } return t[s + 8] = r, s } function bd(e, t) { e.push(0, 0, 0, 0, 0, 0, 0, 0, t) } function P_(e, t) { return -1 === e.injectorIndex || e.parent && e.parent.injectorIndex === e.injectorIndex || null === t[e.injectorIndex + 8] ? -1 : e.injectorIndex } function wl(e, t) { if (e.parent && -1 !== e.parent.injectorIndex) return e.parent.injectorIndex; let i = 0, n = null, r = t; for (; null !== r;) { if (n = U_(r), null === n) return Ds; if (i++, r = r[gs], -1 !== n.injectorIndex) return n.injectorIndex | i << 16 } return Ds } function Dd(e, t, i) { !function vT(e, t, i) { let n; "string" == typeof i ? n = i.charCodeAt(0) || 0 : i.hasOwnProperty(So) && (n = i[So]), null == n && (n = i[So] = mT++); const r = n & x_; t.data[e + (r >> R_)] |= 1 << r }(e, t, i) } function F_(e, t, i) { if (i & ge.Optional || void 0 !== e) return e; ju() } function k_(e, t, i, n) { if (i & ge.Optional && void 0 === n && (n = null), !(i & (ge.Self | ge.Host))) { const r = e[tr], s = _n(void 0); try { return r ? r.get(t, n, i & ge.Optional) : Og(t, n, i & ge.Optional) } finally { _n(s) } } return F_(n, 0, i) } function L_(e, t, i, n = ge.Default, r) { if (null !== e) { if (2048 & t[ie] && !(n & ge.Self)) { const o = function ET(e, t, i, n, r) { let s = e, o = t; for (; null !== s && null !== o && 2048 & o[ie] && !(512 & o[ie]);) { const a = B_(s, o, i, n | ge.Self, Mi); if (a !== Mi) return a; let l = s.parent; if (!l) { const c = o[Jg]; if (c) { const u = c.get(i, Mi, n); if (u !== Mi) return u } l = U_(o), o = o[gs] } s = l } return r }(e, t, i, n, Mi); if (o !== Mi) return o } const s = B_(e, t, i, n, Mi); if (s !== Mi) return s } return k_(t, i, n, r) } function B_(e, t, i, n, r) { const s = function DT(e) { if ("string" == typeof e) return e.charCodeAt(0) || 0; const t = e.hasOwnProperty(So) ? e[So] : void 0; return "number" == typeof t ? t >= 0 ? t & x_ : CT : t }(i); if ("function" == typeof s) { if (!C_(t, e, n)) return n & ge.Host ? F_(r, 0, n) : k_(t, i, n, r); try { let o; if (o = s(n), null != o || n & ge.Optional) return o; ju() } finally { M_() } } else if ("number" == typeof s) { let o = null, a = P_(e, t), l = Ds, c = n & ge.Host ? t[yt][Yt] : null; for ((-1 === a || n & ge.SkipSelf) && (l = -1 === a ? wl(e, t) : t[a + 8], l !== Ds && H_(n, !1) ? (o = t[H], a = Fo(l), t = ko(l, t)) : a = -1); -1 !== a;) { const u = t[H]; if (V_(s, a, u.data)) { const h = bT(a, t, i, o, n, c); if (h !== Mi) return h } l = t[a + 8], l !== Ds && H_(n, t[H].data[a + 8] === c) && V_(s, a, t) ? (o = u, a = Fo(l), t = ko(l, t)) : a = -1 } } return r } function bT(e, t, i, n, r, s) { const o = t[H], a = o.data[e + 8], u = Cl(a, o, i, null == n ? Cr(a) && yd : n != o && 0 != (3 & a.type), r & ge.Host && s === a); return null !== u ? Tr(t, o, u, a) : Mi } function Cl(e, t, i, n, r) { const s = e.providerIndexes, o = t.data, a = 1048575 & s, l = e.directiveStart, u = s >> 20, g = r ? a + u : e.directiveEnd; for (let _ = n ? a : a + u; _ < g; _++) { const y = o[_]; if (_ < l && i === y || _ >= l && y.type === i) return _ } if (r) { const _ = o[l]; if (_ && ii(_) && _.type === i) return l } return null } function Tr(e, t, i, n) { let r = e[i]; const s = t.data; if (function hT(e) { return e instanceof Po }(r)) { const o = r; o.resolving && function zE(e, t) { const i = t ? `. Dependency path: ${t.join(" > ")} > ${e}` : ""; throw new F(-200, `Circular dependency in DI detected for ${e}${i}`) }(function Ne(e) { return "function" == typeof e ? e.name || e.toString() : "object" == typeof e && null != e && "function" == typeof e.type ? e.type.name || e.type.toString() : te(e) }(s[i])); const a = bl(o.canSeeViewProviders); o.resolving = !0; const c = o.injectImpl ? _n(o.injectImpl) : null; C_(e, n, ge.Default); try { r = e[i] = o.factory(void 0, s, e, n), t.firstCreatePass && i >= n.directiveStart && function dT(e, t, i) { const { ngOnChanges: n, ngOnInit: r, ngDoCheck: s } = t.type.prototype; if (n) { const o = o_(t); (i.preOrderHooks ??= []).push(e, o), (i.preOrderCheckHooks ??= []).push(e, o) } r && (i.preOrderHooks ??= []).push(0 - e, r), s && ((i.preOrderHooks ??= []).push(e, s), (i.preOrderCheckHooks ??= []).push(e, s)) }(i, s[i], t) } finally { null !== c && _n(c), bl(a), o.resolving = !1, M_() } } return r } function V_(e, t, i) { return !!(i[t + (e >> R_)] & 1 << e) } function H_(e, t) { return !(e & ge.Self || e & ge.Host && t) } class un { constructor(t, i) { this._tNode = t, this._lView = i } get(t, i, n) { return L_(this._tNode, this._lView, t, rl(n), i) } } function CT() { return new un(Ut(), A()) } function St(e) { return Bi(() => { const t = e.prototype.constructor, i = t[Vi] || wd(t), n = Object.prototype; let r = Object.getPrototypeOf(e.prototype).constructor; for (; r && r !== n;) { const s = r[Vi] || wd(r); if (s && s !== i) return s; r = Object.getPrototypeOf(r) } return s => new s }) } function wd(e) { return Hu(e) ? () => { const t = wd(X(e)); return t && t() } : Er(e) } function U_(e) { const t = e[H], i = t.type; return 2 === i ? t.declTNode : 1 === i ? e[Yt] : null } const Es = "__parameters__"; function Ts(e, t, i) { return Bi(() => { const n = function Cd(e) { return function (...i) { if (e) { const n = e(...i); for (const r in n) this[r] = n[r] } } }(t); function r(...s) { if (this instanceof r) return n.apply(this, s), this; const o = new r(...s); return a.annotation = o, a; function a(l, c, u) { const h = l.hasOwnProperty(Es) ? l[Es] : Object.defineProperty(l, Es, { value: [] })[Es]; for (; h.length <= u;)h.push(null); return (h[u] = h[u] || []).push(o), l } } return i && (r.prototype = Object.create(i.prototype)), r.prototype.ngMetadataName = e, r.annotationCls = r, r }) } function Is(e, t) { e.forEach(i => Array.isArray(i) ? Is(i, t) : t(i)) } function $_(e, t, i) { t >= e.length ? e.push(i) : e.splice(t, 0, i) } function El(e, t) { return t >= e.length - 1 ? e.pop() : e.splice(t, 1)[0] } function Vo(e, t) { const i = []; for (let n = 0; n < e; n++)i.push(t); return i } function xn(e, t, i) { let n = Ns(e, t); return n >= 0 ? e[1 | n] = i : (n = ~n, function OT(e, t, i, n) { let r = e.length; if (r == t) e.push(i, n); else if (1 === r) e.push(n, e[0]), e[0] = i; else { for (r--, e.push(e[r - 1], e[r]); r > t;)e[r] = e[r - 2], r--; e[t] = i, e[t + 1] = n } }(e, n, t, i)), n } function Ed(e, t) { const i = Ns(e, t); if (i >= 0) return e[1 | i] } function Ns(e, t) { return function G_(e, t, i) { let n = 0, r = e.length >> i; for (; r !== n;) { const s = n + (r - n >> 1), o = e[s << i]; if (t === o) return s << i; o > t ? r = s : n = s + 1 } return ~(r << i) }(e, t, 1) } const Td = Eo(Ts("Optional"), 8), Md = Eo(Ts("SkipSelf"), 4); function Al(e) { return 128 == (128 & e.flags) } var sr = function (e) { return e[e.Important = 1] = "Important", e[e.DashCase = 2] = "DashCase", e }(sr || {}); const Od = new Map; let tM = 0; const Rd = "__ngContext__"; function Zt(e, t) { vn(t) ? (e[Rd] = t[Oo], function iM(e) { Od.set(e[Oo], e) }(t)) : e[Rd] = t } let Pd; function Fd(e, t) { return Pd(e, t) } function jo(e) { const t = e[tt]; return rn(t) ? t[tt] : t } function um(e) { return fm(e[No]) } function dm(e) { return fm(e[ni]) } function fm(e) { for (; null !== e && !rn(e);)e = e[ni]; return e } function xs(e, t, i, n, r) { if (null != n) { let s, o = !1; rn(n) ? s = n : vn(n) && (o = !0, n = n[ht]); const a = We(n); 0 === e && null !== i ? null == r ? _m(t, i, a) : Mr(t, i, a, r || null, !0) : 1 === e && null !== i ? Mr(t, i, a, r || null, !0) : 2 === e ? function Ll(e, t, i) { const n = Fl(e, t); n && function wM(e, t, i, n) { e.removeChild(t, i, n) }(e, n, t, i) }(t, a, o) : 3 === e && t.destroyNode(a), null != s && function SM(e, t, i, n, r) { const s = i[Ci]; s !== We(i) && xs(t, e, n, s, r); for (let a = Ht; a < i.length; a++) { const l = i[a]; Go(l[H], l, e, t, n, s) } }(t, e, s, i, r) } } function Rl(e, t, i) { return e.createElement(t, i) } function pm(e, t) { const i = e[ms], n = i.indexOf(t); h_(t), i.splice(n, 1) } function Pl(e, t) { if (e.length <= Ht) return; const i = Ht + t, n = e[i]; if (n) { const r = n[Ao]; null !== r && r !== e && pm(r, n), t > 0 && (e[i - 1][ni] = n[ni]); const s = El(e, Ht + t); !function pM(e, t) { Go(e, t, t[ne], 2, null, null), t[ht] = null, t[Yt] = null }(n[H], n); const o = s[wi]; null !== o && o.detachView(s[H]), n[tt] = null, n[ni] = null, n[ie] &= -129 } return n } function Ld(e, t) { if (!(256 & t[ie])) { const i = t[ne]; t[ll]?.destroy(), t[cl]?.destroy(), i.destroyNode && Go(e, t, i, 3, null, null), function mM(e) { let t = e[No]; if (!t) return Bd(e[H], e); for (; t;) { let i = null; if (vn(t)) i = t[No]; else { const n = t[Ht]; n && (i = n) } if (!i) { for (; t && !t[ni] && t !== e;)vn(t) && Bd(t[H], t), t = t[tt]; null === t && (t = e), vn(t) && Bd(t[H], t), i = t && t[ni] } t = i } }(t) } } function Bd(e, t) { if (!(256 & t[ie])) { t[ie] &= -129, t[ie] |= 256, function DM(e, t) { let i; if (null != e && null != (i = e.destroyHooks)) for (let n = 0; n < i.length; n += 2) { const r = t[i[n]]; if (!(r instanceof Po)) { const s = i[n + 1]; if (Array.isArray(s)) for (let o = 0; o < s.length; o += 2) { const a = r[s[o]], l = s[o + 1]; Si(4, a, l); try { l.call(a) } finally { Si(5, a, l) } } else { Si(4, r, s); try { s.call(r) } finally { Si(5, r, s) } } } } }(e, t), function bM(e, t) { const i = e.cleanup, n = t[hs]; if (null !== i) for (let s = 0; s < i.length - 1; s += 2)if ("string" == typeof i[s]) { const o = i[s + 3]; o >= 0 ? n[o]() : n[-o].unsubscribe(), s += 2 } else i[s].call(n[i[s + 1]]); null !== n && (t[hs] = null); const r = t[nr]; if (null !== r) { t[nr] = null; for (let s = 0; s < r.length; s++)(0, r[s])() } }(e, t), 1 === t[H].type && t[ne].destroy(); const i = t[Ao]; if (null !== i && rn(t[tt])) { i !== t[tt] && pm(i, t); const n = t[wi]; null !== n && n.detachView(e) } !function rM(e) { Od.delete(e[Oo]) }(t) } } function Vd(e, t, i) { return function gm(e, t, i) { let n = t; for (; null !== n && 40 & n.type;)n = (t = n).parent; if (null === n) return i[ht]; { const { componentOffset: r } = n; if (r > -1) { const { encapsulation: s } = e.data[n.directiveStart + r]; if (s === ei.None || s === ei.Emulated) return null } return yn(n, i) } }(e, t.parent, i) } function Mr(e, t, i, n, r) { e.insertBefore(t, i, n, r) } function _m(e, t, i) { e.appendChild(t, i) } function mm(e, t, i, n, r) { null !== n ? Mr(e, t, i, n, r) : _m(e, t, i) } function Fl(e, t) { return e.parentNode(t) } function vm(e, t, i) { return bm(e, t, i) } let Hd, Bl, Gd, Vl, bm = function ym(e, t, i) { return 40 & e.type ? yn(e, i) : null }; function kl(e, t, i, n) { const r = Vd(e, n, t), s = t[ne], a = vm(n.parent || t[Yt], n, t); if (null != r) if (Array.isArray(i)) for (let l = 0; l < i.length; l++)mm(s, r, i[l], a, !1); else mm(s, r, i, a, !1); void 0 !== Hd && Hd(s, n, t, i, r) } function $o(e, t) { if (null !== t) { const i = t.type; if (3 & i) return yn(t, e); if (4 & i) return Ud(-1, e[t.index]); if (8 & i) { const n = t.child; if (null !== n) return $o(e, n); { const r = e[t.index]; return rn(r) ? Ud(-1, r) : We(r) } } if (32 & i) return Fd(t, e)() || We(e[t.index]); { const n = wm(e, t); return null !== n ? Array.isArray(n) ? n[0] : $o(jo(e[yt]), n) : $o(e, t.next) } } return null } function wm(e, t) { return null !== t ? e[yt][Yt].projection[t.projection] : null } function Ud(e, t) { const i = Ht + e + 1; if (i < t.length) { const n = t[i], r = n[H].firstChild; if (null !== r) return $o(n, r) } return t[Ci] } function jd(e, t, i, n, r, s, o) { for (; null != i;) { const a = n[i.index], l = i.type; if (o && 0 === t && (a && Zt(We(a), n), i.flags |= 2), 32 != (32 & i.flags)) if (8 & l) jd(e, t, i.child, n, r, s, !1), xs(t, e, r, a, s); else if (32 & l) { const c = Fd(i, n); let u; for (; u = c();)xs(t, e, r, u, s); xs(t, e, r, a, s) } else 16 & l ? Em(e, t, n, i, r, s) : xs(t, e, r, a, s); i = o ? i.projectionNext : i.next } } function Go(e, t, i, n, r, s) { jd(i, n, e.firstChild, t, r, s, !1) } function Em(e, t, i, n, r, s) { const o = i[yt], l = o[Yt].projection[n.projection]; if (Array.isArray(l)) for (let c = 0; c < l.length; c++)xs(t, e, r, l[c], s); else { let c = l; const u = o[tt]; Al(n) && (c.flags |= 128), jd(e, t, c, u, r, s, !0) } } function Sm(e, t, i) { "" === i ? e.removeAttribute(t, "class") : e.setAttribute(t, "class", i) } function Tm(e, t, i) { const { mergedAttrs: n, classes: r, styles: s } = i; null !== n && Xu(e, t, n), null !== r && Sm(e, t, r), null !== s && function MM(e, t, i) { e.setAttribute(t, "style", i) }(e, t, s) } function Rs(e) { return function $d() { if (void 0 === Bl && (Bl = null, je.trustedTypes)) try { Bl = je.trustedTypes.createOperation("angular", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Bl }()?.createHTML(e) || e } function Ps() { if (void 0 !== Gd) return Gd; if (typeof document < "u") return document; throw new F(210, !1) } function Mm(e) { return function zd() { if (void 0 === Vl && (Vl = null, je.trustedTypes)) try { Vl = je.trustedTypes.createOperation("angular#unsafe-bypass", { createHTML: e => e, createScript: e => e, createScriptURL: e => e }) } catch { } return Vl }()?.createHTML(e) || e } class Am { constructor(t) { this.changingThisBreaksApplicationSecurity = t } toString() { return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})` } } function or(e) { return e instanceof Am ? e.changingThisBreaksApplicationSecurity : e } function zo(e, t) { const i = function LM(e) { return e instanceof Am && e.getTypeName() || null }(e); if (null != i && i !== t) { if ("ResourceURL" === i && "URL" === t) return !0; throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`) } return i === t } class BM { constructor(t) { this.inertDocumentHelper = t } getInertBodyElement(t) { t = "" + t; try { const i = (new window.DOMParser).parseFromString(Rs(t), "text/html").body; return null === i ? this.inertDocumentHelper.getInertBodyElement(t) : (i.removeChild(i.firstChild), i) } catch { return null } } } class VM { constructor(t) { this.defaultDoc = t, this.inertDocument = this.defaultDoc.implementation.createHTMLDocument("sanitization-inert") } getInertBodyElement(t) { const i = this.inertDocument.createElement("template"); return i.innerHTML = Rs(t), i } } const UM = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; function Wd(e) { return (e = String(e)).match(UM) ? e : "unsafe:" + e } function $i(e) { const t = {}; for (const i of e.split(",")) t[i] = !0; return t } function Wo(...e) { const t = {}; for (const i of e) for (const n in i) i.hasOwnProperty(n) && (t[n] = !0); return t } const xm = $i("area,br,col,hr,img,wbr"), Rm = $i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), Pm = $i("rp,rt"), qd = Wo(xm, Wo(Rm, $i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")), Wo(Pm, $i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")), Wo(Pm, Rm)), Yd = $i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"), Fm = Wo(Yd, $i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"), $i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")), jM = $i("script,style,template"); class $M { constructor() { this.sanitizedSomething = !1, this.buf = [] } sanitizeChildren(t) { let i = t.firstChild, n = !0; for (; i;)if (i.nodeType === Node.ELEMENT_NODE ? n = this.startElement(i) : i.nodeType === Node.TEXT_NODE ? this.chars(i.nodeValue) : this.sanitizedSomething = !0, n && i.firstChild) i = i.firstChild; else for (; i;) { i.nodeType === Node.ELEMENT_NODE && this.endElement(i); let r = this.checkClobberedElement(i, i.nextSibling); if (r) { i = r; break } i = this.checkClobberedElement(i, i.parentNode) } return this.buf.join("") } startElement(t) { const i = t.nodeName.toLowerCase(); if (!qd.hasOwnProperty(i)) return this.sanitizedSomething = !0, !jM.hasOwnProperty(i); this.buf.push("<"), this.buf.push(i); const n = t.attributes; for (let r = 0; r < n.length; r++) { const s = n.item(r), o = s.name, a = o.toLowerCase(); if (!Fm.hasOwnProperty(a)) { this.sanitizedSomething = !0; continue } let l = s.value; Yd[a] && (l = Wd(l)), this.buf.push(" ", o, '="', km(l), '"') } return this.buf.push(">"), !0 } endElement(t) { const i = t.nodeName.toLowerCase(); qd.hasOwnProperty(i) && !xm.hasOwnProperty(i) && (this.buf.push("")) } chars(t) { this.buf.push(km(t)) } checkClobberedElement(t, i) { if (i && (t.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`); return i } } const GM = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, zM = /([^\#-~ |!])/g; function km(e) { return e.replace(/&/g, "&").replace(GM, function (t) { return "&#" + (1024 * (t.charCodeAt(0) - 55296) + (t.charCodeAt(1) - 56320) + 65536) + ";" }).replace(zM, function (t) { return "&#" + t.charCodeAt(0) + ";" }).replace(//g, ">") } let Hl; function Zd(e) { return "content" in e && function qM(e) { return e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.nodeName }(e) ? e.content : null } var Fs = function (e) { return e[e.NONE = 0] = "NONE", e[e.HTML = 1] = "HTML", e[e.STYLE = 2] = "STYLE", e[e.SCRIPT = 3] = "SCRIPT", e[e.URL = 4] = "URL", e[e.RESOURCE_URL = 5] = "RESOURCE_URL", e }(Fs || {}); function Lm(e) { const t = qo(); return t ? Mm(t.sanitize(Fs.HTML, e) || "") : zo(e, "HTML") ? Mm(or(e)) : function WM(e, t) { let i = null; try { Hl = Hl || function Om(e) { const t = new VM(e); return function HM() { try { return !!(new window.DOMParser).parseFromString(Rs(""), "text/html") } catch { return !1 } }() ? new BM(t) : t }(e); let n = t ? String(t) : ""; i = Hl.getInertBodyElement(n); let r = 5, s = n; do { if (0 === r) throw new Error("Failed to sanitize html because the input is unstable"); r--, n = s, s = i.innerHTML, i = Hl.getInertBodyElement(n) } while (n !== s); return Rs((new $M).sanitizeChildren(Zd(i) || i)) } finally { if (i) { const n = Zd(i) || i; for (; n.firstChild;)n.removeChild(n.firstChild) } } }(Ps(), te(e)) } function Jd(e) { const t = qo(); return t ? t.sanitize(Fs.URL, e) || "" : zo(e, "URL") ? or(e) : Wd(te(e)) } function qo() { const e = A(); return e && e[ps].sanitizer } class W { constructor(t, i) { this._desc = t, this.ngMetadataName = "InjectionToken", this.\u0275prov = void 0, "number" == typeof i ? this.__NG_ELEMENT_ID__ = i : void 0 !== i && (this.\u0275prov = G({ token: this, providedIn: i.providedIn || "root", factory: i.factory })) } get multi() { return this } toString() { return `InjectionToken ${this._desc}` } } const Ul = new W("ENVIRONMENT_INITIALIZER"), Vm = new W("INJECTOR", -1), Hm = new W("INJECTOR_DEF_TYPES"); class Qd { get(t, i = Co) { if (i === Co) { const n = new Error(`NullInjectorError: No provider for ${Nt(t)}!`); throw n.name = "NullInjectorError", n } return i } } function eI(...e) { return { \u0275providers: Um(0, e), \u0275fromNgModule: !0 } } function Um(e, ...t) { const i = [], n = new Set; let r; const s = o => { i.push(o) }; return Is(t, o => { const a = o; jl(a, s, [], n) && (r ||= [], r.push(a)) }), void 0 !== r && jm(r, s), i } function jm(e, t) { for (let i = 0; i < e.length; i++) { const { ngModule: n, providers: r } = e[i]; Xd(r, s => { t(s, n) }) } } function jl(e, t, i, n) { if (!(e = X(e))) return !1; let r = null, s = tl(e); const o = !s && me(e); if (s || o) { if (o && !o.standalone) return !1; r = e } else { const l = e.ngModule; if (s = tl(l), !s) return !1; r = l } const a = n.has(r); if (o) { if (a) return !1; if (n.add(r), o.dependencies) { const l = "function" == typeof o.dependencies ? o.dependencies() : o.dependencies; for (const c of l) jl(c, t, i, n) } } else { if (!s) return !1; { if (null != s.imports && !a) { let c; n.add(r); try { Is(s.imports, u => { jl(u, t, i, n) && (c ||= [], c.push(u)) }) } finally { } void 0 !== c && jm(c, t) } if (!a) { const c = Er(r) || (() => new r); t({ provide: r, useFactory: c, deps: Ee }, r), t({ provide: Hm, useValue: r, multi: !0 }, r), t({ provide: Ul, useValue: () => L(r), multi: !0 }, r) } const l = s.providers; if (null != l && !a) { const c = e; Xd(l, u => { t(u, c) }) } } } return r !== e && void 0 !== e.providers } function Xd(e, t) { for (let i of e) Uu(i) && (i = i.\u0275providers), Array.isArray(i) ? Xd(i, t) : t(i) } const tI = Re({ provide: String, useValue: Re }); function ef(e) { return null !== e && "object" == typeof e && tI in e } function Ir(e) { return "function" == typeof e } const tf = new W("Set Injector scope."), $l = {}, iI = {}; let nf; function Gl() { return void 0 === nf && (nf = new Qd), nf } class zn { } class zl extends zn { get destroyed() { return this._destroyed } constructor(t, i, n, r) { super(), this.parent = i, this.source = n, this.scopes = r, this.records = new Map, this._ngOnDestroyHooks = new Set, this._onDestroyHooks = [], this._destroyed = !1, sf(t, o => this.processProvider(o)), this.records.set(Vm, ks(void 0, this)), r.has("environment") && this.records.set(zn, ks(void 0, this)); const s = this.records.get(tf); null != s && "string" == typeof s.value && this.scopes.add(s.value), this.injectorDefTypes = new Set(this.get(Hm.multi, Ee, ge.Self)) } destroy() { this.assertNotDestroyed(), this._destroyed = !0; try { for (const i of this._ngOnDestroyHooks) i.ngOnDestroy(); const t = this._onDestroyHooks; this._onDestroyHooks = []; for (const i of t) i() } finally { this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear() } } onDestroy(t) { return this.assertNotDestroyed(), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t) } runInContext(t) { this.assertNotDestroyed(); const i = er(this), n = _n(void 0); try { return t() } finally { er(i), _n(n) } } get(t, i = Co, n = ge.Default) { if (this.assertNotDestroyed(), t.hasOwnProperty(kg)) return t[kg](this); n = rl(n); const s = er(this), o = _n(void 0); try { if (!(n & ge.SkipSelf)) { let l = this.records.get(t); if (void 0 === l) { const c = function lI(e) { return "function" == typeof e || "object" == typeof e && e instanceof W }(t) && el(t); l = c && this.injectableDefInScope(c) ? ks(rf(t), $l) : null, this.records.set(t, l) } if (null != l) return this.hydrate(t, l) } return (n & ge.Self ? Gl() : this.parent).get(t, i = n & ge.Optional && i === Co ? null : i) } catch (a) { if ("NullInjectorError" === a.name) { if ((a[il] = a[il] || []).unshift(Nt(t)), s) throw a; return function sS(e, t, i, n) { const r = e[il]; throw t[Rg] && r.unshift(t[Rg]), e.message = function oS(e, t, i, n = null) { e = e && "\n" === e.charAt(0) && "\u0275" == e.charAt(1) ? e.slice(2) : e; let r = Nt(t); if (Array.isArray(t)) r = t.map(Nt).join(" -> "); else if ("object" == typeof t) { let s = []; for (let o in t) if (t.hasOwnProperty(o)) { let a = t[o]; s.push(o + ":" + ("string" == typeof a ? JSON.stringify(a) : Nt(a))) } r = `{${s.join(", ")}}` } return `${i}${n ? "(" + n + ")" : ""}[${r}]: ${e.replace(eS, "\n ")}` }("\n" + e.message, r, i, n), e.ngTokenPath = r, e[il] = null, e }(a, t, "R3InjectorError", this.source) } throw a } finally { _n(o), er(s) } } resolveInjectorInitializers() { const t = er(this), i = _n(void 0); try { const r = this.get(Ul.multi, Ee, ge.Self); for (const s of r) s() } finally { er(t), _n(i) } } toString() { const t = [], i = this.records; for (const n of i.keys()) t.push(Nt(n)); return `R3Injector[${t.join(", ")}]` } assertNotDestroyed() { if (this._destroyed) throw new F(205, !1) } processProvider(t) { let i = Ir(t = X(t)) ? t : X(t && t.provide); const n = function sI(e) { return ef(e) ? ks(void 0, e.useValue) : ks(zm(e), $l) }(t); if (Ir(t) || !0 !== t.multi) this.records.get(i); else { let r = this.records.get(i); r || (r = ks(void 0, $l, !0), r.factory = () => Ju(r.multi), this.records.set(i, r)), i = t, r.multi.push(t) } this.records.set(i, n) } hydrate(t, i) { return i.value === $l && (i.value = iI, i.value = i.factory()), "object" == typeof i.value && i.value && function aI(e) { return null !== e && "object" == typeof e && "function" == typeof e.ngOnDestroy }(i.value) && this._ngOnDestroyHooks.add(i.value), i.value } injectableDefInScope(t) { if (!t.providedIn) return !1; const i = X(t.providedIn); return "string" == typeof i ? "any" === i || this.scopes.has(i) : this.injectorDefTypes.has(i) } removeOnDestroy(t) { const i = this._onDestroyHooks.indexOf(t); -1 !== i && this._onDestroyHooks.splice(i, 1) } } function rf(e) { const t = el(e), i = null !== t ? t.factory : Er(e); if (null !== i) return i; if (e instanceof W) throw new F(204, !1); if (e instanceof Function) return function rI(e) { const t = e.length; if (t > 0) throw Vo(t, "?"), new F(204, !1); const i = function JE(e) { return e && (e[nl] || e[Ng]) || null }(e); return null !== i ? () => i.factory(e) : () => new e }(e); throw new F(204, !1) } function zm(e, t, i) { let n; if (Ir(e)) { const r = X(e); return Er(r) || rf(r) } if (ef(e)) n = () => X(e.useValue); else if (function Gm(e) { return !(!e || !e.useFactory) }(e)) n = () => e.useFactory(...Ju(e.deps || [])); else if (function $m(e) { return !(!e || !e.useExisting) }(e)) n = () => L(X(e.useExisting)); else { const r = X(e && (e.useClass || e.provide)); if (!function oI(e) { return !!e.deps }(e)) return Er(r) || rf(r); n = () => new r(...Ju(e.deps)) } return n } function ks(e, t, i = !1) { return { factory: e, value: t, multi: i ? [] : void 0 } } function sf(e, t) { for (const i of e) Array.isArray(i) ? sf(i, t) : i && Uu(i) ? sf(i.\u0275providers, t) : t(i) } const Wl = new W("AppId", { providedIn: "root", factory: () => cI }), cI = "ng", Wm = new W("Platform Initializer"), Nr = new W("Platform ID", { providedIn: "platform", factory: () => "unknown" }), qm = new W("CSP nonce", { providedIn: "root", factory: () => Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); let Ym = (e, t, i) => null; function pf(e, t, i = !1) { return Ym(e, t, i) } class yI { } class Qm { } class DI { resolveComponentFactory(t) { throw function bI(e) { const t = Error(`No component factory found for ${Nt(e)}.`); return t.ngComponent = e, t }(t) } } let Kl = (() => { class t { } return t.NULL = new DI, t })(); function wI() { return Vs(Ut(), A()) } function Vs(e, t) { return new Fe(yn(e, t)) } let Fe = (() => { class t { constructor(n) { this.nativeElement = n } } return t.__NG_ELEMENT_ID__ = wI, t })(); function CI(e) { return e instanceof Fe ? e.nativeElement : e } class mf { } let Wn = (() => { class t { constructor() { this.destroyNode = null } } return t.__NG_ELEMENT_ID__ = () => function EI() { const e = A(), i = On(Ut().index, e); return (vn(i) ? i : e)[ne] }(), t })(), SI = (() => { var e; class t { } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => null }), t })(); class Xl { constructor(t) { this.full = t, this.major = t.split(".")[0], this.minor = t.split(".")[1], this.patch = t.split(".").slice(2).join(".") } } const TI = new Xl("16.2.3"), vf = {}; function nv(e, t = null, i = null, n) { const r = iv(e, t, i, n); return r.resolveInjectorInitializers(), r } function iv(e, t = null, i = null, n, r = new Set) { const s = [i || Ee, eI(e)]; return n = n || ("object" == typeof e ? void 0 : Nt(e)), new zl(s, t || Gl(), n || null, r) } let Jt = (() => { var e; class t { static create(n, r) { if (Array.isArray(n)) return nv({ name: "" }, r, n, ""); { const s = n.name ?? ""; return nv({ name: s }, n.parent, n.providers, s) } } } return (e = t).THROW_IF_NOT_FOUND = Co, e.NULL = new Qd, e.\u0275prov = G({ token: e, providedIn: "any", factory: () => L(Vm) }), e.__NG_ELEMENT_ID__ = -1, t })(); function Df(e) { return t => { setTimeout(e, void 0, t) } } const Y = class RI extends ee { constructor(t = !1) { super(), this.__isAsync = t } emit(t) { super.next(t) } subscribe(t, i, n) { let r = t, s = i || (() => null), o = n; if (t && "object" == typeof t) { const l = t; r = l.next?.bind(l), s = l.error?.bind(l), o = l.complete?.bind(l) } this.__isAsync && (s = Df(s), r && (r = Df(r)), o && (o = Df(o))); const a = super.subscribe({ next: r, error: s, complete: o }); return t instanceof de && t.add(a), a } }; function rv(...e) { } class Se { constructor({ enableLongStackTrace: t = !1, shouldCoalesceEventChangeDetection: i = !1, shouldCoalesceRunChangeDetection: n = !1 }) { if (this.hasPendingMacrotasks = !1, this.hasPendingMicrotasks = !1, this.isStable = !0, this.onUnstable = new Y(!1), this.onMicrotaskEmpty = new Y(!1), this.onStable = new Y(!1), this.onError = new Y(!1), typeof Zone > "u") throw new F(908, !1); Zone.assertZonePatched(); const r = this; r._nesting = 0, r._outer = r._inner = Zone.current, Zone.TaskTrackingZoneSpec && (r._inner = r._inner.fork(new Zone.TaskTrackingZoneSpec)), t && Zone.longStackTraceZoneSpec && (r._inner = r._inner.fork(Zone.longStackTraceZoneSpec)), r.shouldCoalesceEventChangeDetection = !n && i, r.shouldCoalesceRunChangeDetection = n, r.lastRequestAnimationFrameId = -1, r.nativeRequestAnimationFrame = function PI() { const e = "function" == typeof je.requestAnimationFrame; let t = je[e ? "requestAnimationFrame" : "setTimeout"], i = je[e ? "cancelAnimationFrame" : "clearTimeout"]; if (typeof Zone < "u" && t && i) { const n = t[Zone.__symbol__("OriginalDelegate")]; n && (t = n); const r = i[Zone.__symbol__("OriginalDelegate")]; r && (i = r) } return { nativeRequestAnimationFrame: t, nativeCancelAnimationFrame: i } }().nativeRequestAnimationFrame, function LI(e) { const t = () => { !function kI(e) { e.isCheckStableRunning || -1 !== e.lastRequestAnimationFrameId || (e.lastRequestAnimationFrameId = e.nativeRequestAnimationFrame.call(je, () => { e.fakeTopEventTask || (e.fakeTopEventTask = Zone.root.scheduleEventTask("fakeTopEventTask", () => { e.lastRequestAnimationFrameId = -1, Cf(e), e.isCheckStableRunning = !0, wf(e), e.isCheckStableRunning = !1 }, void 0, () => { }, () => { })), e.fakeTopEventTask.invoke() }), Cf(e)) }(e) }; e._inner = e._inner.fork({ name: "angular", properties: { isAngularZone: !0 }, onInvokeTask: (i, n, r, s, o, a) => { try { return sv(e), i.invokeTask(r, s, o, a) } finally { (e.shouldCoalesceEventChangeDetection && "eventTask" === s.type || e.shouldCoalesceRunChangeDetection) && t(), ov(e) } }, onInvoke: (i, n, r, s, o, a, l) => { try { return sv(e), i.invoke(r, s, o, a, l) } finally { e.shouldCoalesceRunChangeDetection && t(), ov(e) } }, onHasTask: (i, n, r, s) => { i.hasTask(r, s), n === r && ("microTask" == s.change ? (e._hasPendingMicrotasks = s.microTask, Cf(e), wf(e)) : "macroTask" == s.change && (e.hasPendingMacrotasks = s.macroTask)) }, onHandleError: (i, n, r, s) => (i.handleError(r, s), e.runOutsideAngular(() => e.onError.emit(s)), !1) }) }(r) } static isInAngularZone() { return typeof Zone < "u" && !0 === Zone.current.get("isAngularZone") } static assertInAngularZone() { if (!Se.isInAngularZone()) throw new F(909, !1) } static assertNotInAngularZone() { if (Se.isInAngularZone()) throw new F(909, !1) } run(t, i, n) { return this._inner.run(t, i, n) } runTask(t, i, n, r) { const s = this._inner, o = s.scheduleEventTask("NgZoneEvent: " + r, t, FI, rv, rv); try { return s.runTask(o, i, n) } finally { s.cancelTask(o) } } runGuarded(t, i, n) { return this._inner.runGuarded(t, i, n) } runOutsideAngular(t) { return this._outer.run(t) } } const FI = {}; function wf(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 Cf(e) { e.hasPendingMicrotasks = !!(e._hasPendingMicrotasks || (e.shouldCoalesceEventChangeDetection || e.shouldCoalesceRunChangeDetection) && -1 !== e.lastRequestAnimationFrameId) } function sv(e) { e._nesting++, e.isStable && (e.isStable = !1, e.onUnstable.emit(null)) } function ov(e) { e._nesting--, wf(e) } class BI { constructor() { this.hasPendingMicrotasks = !1, this.hasPendingMacrotasks = !1, this.isStable = !0, this.onUnstable = new Y, this.onMicrotaskEmpty = new Y, this.onStable = new Y, this.onError = new Y } run(t, i, n) { return t.apply(i, n) } runGuarded(t, i, n) { return t.apply(i, n) } runOutsideAngular(t) { return t() } runTask(t, i, n, r) { return t.apply(i, n) } } const av = new W("", { providedIn: "root", factory: lv }); function lv() { const e = fe(Se); let t = !0; return function Eg(...e) { const t = Qa(e), i = function FE(e, t) { return "number" == typeof Fu(e) ? e.pop() : t }(e, 1 / 0), n = e; return n.length ? 1 === n.length ? Ft(n[0]) : yg(i)(wo(n, t)) : Do }(new ze(r => { t = e.isStable && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks, e.runOutsideAngular(() => { r.next(t), r.complete() }) }), new ze(r => { let s; e.runOutsideAngular(() => { s = e.onStable.subscribe(() => { Se.assertNotInAngularZone(), queueMicrotask(() => { !t && !e.hasPendingMacrotasks && !e.hasPendingMicrotasks && (t = !0, r.next(!0)) }) }) }); const o = e.onUnstable.subscribe(() => { Se.assertInAngularZone(), t && (t = !1, e.runOutsideAngular(() => { r.next(!1) })) }); return () => { s.unsubscribe(), o.unsubscribe() } }).pipe(Sg())) } let Ef = (() => { var e; class t { constructor() { this.callbacks = new Set, this.deferredCallbacks = new Set, this.renderDepth = 0, this.runningCallbacks = !1 } begin() { if (this.runningCallbacks) throw new F(102, !1); this.renderDepth++ } end() { if (this.renderDepth--, 0 === this.renderDepth) try { this.runningCallbacks = !0; for (const n of this.callbacks) n.invoke() } finally { this.runningCallbacks = !1; for (const n of this.deferredCallbacks) this.callbacks.add(n); this.deferredCallbacks.clear() } } register(n) { (this.runningCallbacks ? this.deferredCallbacks : this.callbacks).add(n) } unregister(n) { this.callbacks.delete(n), this.deferredCallbacks.delete(n) } ngOnDestroy() { this.callbacks.clear(), this.deferredCallbacks.clear() } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function Jo(e) { for (; e;) { e[ie] |= 64; const t = jo(e); if (nd(e) && !t) return e; e = t } return null } function Sf(e) { return e.ngOriginalError } class Ar { constructor() { this._console = console } handleError(t) { const i = this._findOriginalError(t); this._console.error("ERROR", t), i && this._console.error("ORIGINAL ERROR", i) } _findOriginalError(t) { let i = t && Sf(t); for (; i && Sf(i);)i = Sf(i); return i || null } } const hv = new W("", { providedIn: "root", factory: () => !1 }); class mv extends n_ { constructor() { super(...arguments), this.consumerAllowSignalWrites = !1, this._lView = null } set lView(t) { this._lView = t } onConsumerDependencyMayHaveChanged() { Jo(this._lView) } onProducerUpdateValueVersion() { } get hasReadASignal() { return this.hasProducers } runInContext(t, i, n) { const r = kt(this); this.trackingVersion++; try { t(i, n) } finally { kt(r) } } destroy() { this.trackingVersion++ } } let tc = null; function vv() { return tc ??= new mv, tc } function yv(e, t) { return e[t] ?? vv() } function bv(e, t) { const i = vv(); i.hasReadASignal && (e[t] = tc, i.lView = e, tc = new mv) } const re = {}; function R(e) { Dv(ve(), A(), cn() + e, !1) } function Dv(e, t, i, n) { if (!n) if (3 == (3 & t[ie])) { const s = e.preOrderCheckHooks; null !== s && vl(t, s, i) } else { const s = e.preOrderHooks; null !== s && yl(t, s, 0, i) } Sr(i) } function v(e, t = ge.Default) { const i = A(); return null === i ? L(e, t) : L_(Ut(), i, X(e), t) } function nc(e, t, i, n, r, s, o, a, l, c, u) { const h = t.blueprint.slice(); return h[ht] = r, h[ie] = 140 | n, (null !== c || e && 2048 & e[ie]) && (h[ie] |= 2048), f_(h), h[tt] = h[gs] = e, h[vt] = i, h[ps] = o || e && e[ps], h[ne] = a || e && e[ne], h[tr] = l || e && e[tr] || null, h[Yt] = s, h[Oo] = function nM() { return tM++ }(), h[Hi] = u, h[Jg] = c, h[yt] = 2 == t.type ? e[yt] : h, h } function js(e, t, i, n, r) { let s = e.data[t]; if (null === s) s = function Tf(e, t, i, n, r) { const s = v_(), o = cd(), l = e.data[t] = function nN(e, t, i, n, r, s) { let o = t ? t.injectorIndex : -1, a = 0; return ys() && (a |= 128), { type: i, index: n, insertBeforeIndex: null, injectorIndex: o, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: r, attrs: s, mergedAttrs: null, localNames: null, initialInputs: void 0, inputs: null, outputs: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 } }(0, o ? s : s && s.parent, i, t, n, r); return null === e.firstChild && (e.firstChild = l), null !== s && (o ? null == s.child && null !== l.parent && (s.child = l) : null === s.next && (s.next = l, l.prev = s)), l }(e, t, i, n, r), function tT() { return K.lFrame.inI18n }() && (s.flags |= 32); else if (64 & s.type) { s.type = i, s.value = n, s.attrs = r; const o = function Ro() { const e = K.lFrame, t = e.currentTNode; return e.isParent ? t : t.parent }(); s.injectorIndex = null === o ? -1 : o.injectorIndex } return Ti(s, !0), s } function Qo(e, t, i, n) { if (0 === i) return -1; const r = t.length; for (let s = 0; s < i; s++)t.push(n), e.blueprint.push(n), e.data.push(null); return r } function wv(e, t, i, n, r) { const s = yv(t, ll), o = cn(), a = 2 & n; try { if (Sr(-1), a && t.length > pe && Dv(e, t, pe, !1), Si(a ? 2 : 0, r), a) s.runInContext(i, n, r); else { const c = kt(null); try { i(n, r) } finally { kt(c) } } } finally { a && null === t[ll] && bv(t, ll), Sr(o), Si(a ? 3 : 1, r) } } function Mf(e, t, i) { if (td(t)) { const n = kt(null); try { const s = t.directiveEnd; for (let o = t.directiveStart; o < s; o++) { const a = e.data[o]; a.contentQueries && a.contentQueries(1, i[o], o) } } finally { kt(n) } } } function If(e, t, i) { m_() && (function cN(e, t, i, n) { const r = i.directiveStart, s = i.directiveEnd; Cr(i) && function _N(e, t, i) { const n = yn(t, e), r = Cv(i); let o = 16; i.signals ? o = 4096 : i.onPush && (o = 64); const a = ic(e, nc(e, r, null, o, n, t, null, e[ps].rendererFactory.createRenderer(n, i), null, null, null)); e[t.index] = a }(t, i, e.data[r + i.componentOffset]), e.firstCreatePass || Dl(i, t), Zt(n, t); const o = i.initialInputs; for (let a = r; a < s; a++) { const l = e.data[a], c = Tr(t, e, a, i); Zt(c, t), null !== o && mN(0, a - r, c, l, 0, o), ii(l) && (On(i.index, t)[vt] = Tr(t, e, a, i)) } }(e, t, i, yn(i, t)), 64 == (64 & i.flags) && Iv(e, t, i)) } function Nf(e, t, i = yn) { const n = t.localNames; if (null !== n) { let r = t.index + 1; for (let s = 0; s < n.length; s += 2) { const o = n[s + 1], a = -1 === o ? i(t, e) : e[o]; e[r++] = a } } } function Cv(e) { const t = e.tView; return null === t || t.incompleteFirstPass ? e.tView = Af(1, null, e.template, e.decls, e.vars, e.directiveDefs, e.pipeDefs, e.viewQuery, e.schemas, e.consts, e.id) : t } function Af(e, t, i, n, r, s, o, a, l, c, u) { const h = pe + n, g = h + r, _ = function JI(e, t) { const i = []; for (let n = 0; n < t; n++)i.push(n < e ? null : re); return i }(h, g), y = "function" == typeof c ? c() : c; return _[H] = { type: e, blueprint: _, template: i, queries: null, viewQuery: a, declTNode: t, data: _.slice().fill(null, h), bindingStartIndex: h, expandoStartIndex: g, hostBindingOpCodes: null, firstCreatePass: !0, firstUpdatePass: !0, staticViewQueries: !1, staticContentQueries: !1, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: "function" == typeof s ? s() : s, pipeRegistry: "function" == typeof o ? o() : o, firstChild: null, schemas: l, consts: y, incompleteFirstPass: !1, ssrId: u } } let Ev = e => null; function Sv(e, t, i, n) { for (let r in e) if (e.hasOwnProperty(r)) { i = null === i ? {} : i; const s = e[r]; null === n ? Tv(i, t, r, s) : n.hasOwnProperty(r) && Tv(i, t, n[r], s) } return i } function Tv(e, t, i, n) { e.hasOwnProperty(i) ? e[i].push(t, n) : e[i] = [t, n] } function Rn(e, t, i, n, r, s, o, a) { const l = yn(t, i); let u, c = t.inputs; !a && null != c && (u = c[n]) ? (Ff(e, i, u, n, r), Cr(t) && function sN(e, t) { const i = On(t, e); 16 & i[ie] || (i[ie] |= 64) }(i, t.index)) : 3 & t.type && (n = function rN(e) { return "class" === e ? "className" : "for" === e ? "htmlFor" : "formaction" === e ? "formAction" : "innerHtml" === e ? "innerHTML" : "readonly" === e ? "readOnly" : "tabindex" === e ? "tabIndex" : e }(n), r = null != o ? o(r, t.value || "", n) : r, s.setProperty(l, n, r)) } function Of(e, t, i, n) { if (m_()) { const r = null === n ? null : { "": -1 }, s = function dN(e, t) { const i = e.directiveRegistry; let n = null, r = null; if (i) for (let s = 0; s < i.length; s++) { const o = i[s]; if ($g(t, o.selectors, !1)) if (n || (n = []), ii(o)) if (null !== o.findHostDirectiveDefs) { const a = []; r = r || new Map, o.findHostDirectiveDefs(o, a, r), n.unshift(...a, o), xf(e, t, a.length) } else n.unshift(o), xf(e, t, 0); else r = r || new Map, o.findHostDirectiveDefs?.(o, n, r), n.push(o) } return null === n ? null : [n, r] }(e, i); let o, a; null === s ? o = a = null : [o, a] = s, null !== o && Mv(e, t, i, o, r, a), r && function fN(e, t, i) { if (t) { const n = e.localNames = []; for (let r = 0; r < t.length; r += 2) { const s = i[t[r + 1]]; if (null == s) throw new F(-301, !1); n.push(t[r], s) } } }(i, n, r) } i.mergedAttrs = To(i.mergedAttrs, i.attrs) } function Mv(e, t, i, n, r, s) { for (let c = 0; c < n.length; c++)Dd(Dl(i, t), e, n[c].type); !function pN(e, t, i) { e.flags |= 1, e.directiveStart = t, e.directiveEnd = t + i, e.providerIndexes = t }(i, e.data.length, n.length); for (let c = 0; c < n.length; c++) { const u = n[c]; u.providersResolver && u.providersResolver(u) } let o = !1, a = !1, l = Qo(e, t, n.length, null); for (let c = 0; c < n.length; c++) { const u = n[c]; i.mergedAttrs = To(i.mergedAttrs, u.hostAttrs), gN(e, i, t, l, u), hN(l, u, r), null !== u.contentQueries && (i.flags |= 4), (null !== u.hostBindings || null !== u.hostAttrs || 0 !== u.hostVars) && (i.flags |= 64); const h = u.type.prototype; !o && (h.ngOnChanges || h.ngOnInit || h.ngDoCheck) && ((e.preOrderHooks ??= []).push(i.index), o = !0), !a && (h.ngOnChanges || h.ngDoCheck) && ((e.preOrderCheckHooks ??= []).push(i.index), a = !0), l++ } !function iN(e, t, i) { const r = t.directiveEnd, s = e.data, o = t.attrs, a = []; let l = null, c = null; for (let u = t.directiveStart; u < r; u++) { const h = s[u], g = i ? i.get(h) : null, y = g ? g.outputs : null; l = Sv(h.inputs, u, l, g ? g.inputs : null), c = Sv(h.outputs, u, c, y); const b = null === l || null === o || jg(t) ? null : vN(l, u, o); a.push(b) } null !== l && (l.hasOwnProperty("class") && (t.flags |= 8), l.hasOwnProperty("style") && (t.flags |= 16)), t.initialInputs = a, t.inputs = l, t.outputs = c }(e, i, s) } function Iv(e, t, i) { const n = i.directiveStart, r = i.directiveEnd, s = i.index, o = function iT() { return K.lFrame.currentDirectiveIndex }(); try { Sr(s); for (let a = n; a < r; a++) { const l = e.data[a], c = t[a]; dd(a), (null !== l.hostBindings || 0 !== l.hostVars || null !== l.hostAttrs) && uN(l, c) } } finally { Sr(-1), dd(o) } } function uN(e, t) { null !== e.hostBindings && e.hostBindings(1, t) } function xf(e, t, i) { t.componentOffset = i, (e.components ??= []).push(t.index) } function hN(e, t, i) { if (i) { if (t.exportAs) for (let n = 0; n < t.exportAs.length; n++)i[t.exportAs[n]] = e; ii(t) && (i[""] = e) } } function gN(e, t, i, n, r) { e.data[n] = r; const s = r.factory || (r.factory = Er(r.type)), o = new Po(s, ii(r), v); e.blueprint[n] = o, i[n] = o, function aN(e, t, i, n, r) { const s = r.hostBindings; if (s) { let o = e.hostBindingOpCodes; null === o && (o = e.hostBindingOpCodes = []); const a = ~t.index; (function lN(e) { let t = e.length; for (; t > 0;) { const i = e[--t]; if ("number" == typeof i && i < 0) return i } return 0 })(o) != a && o.push(a), o.push(i, n, s) } }(e, t, n, Qo(e, i, r.hostVars, re), r) } function Ii(e, t, i, n, r, s) { const o = yn(e, t); !function Rf(e, t, i, n, r, s, o) { if (null == s) e.removeAttribute(t, r, i); else { const a = null == o ? te(s) : o(s, n || "", r); e.setAttribute(t, r, a, i) } }(t[ne], o, s, e.value, i, n, r) } function mN(e, t, i, n, r, s) { const o = s[t]; if (null !== o) for (let a = 0; a < o.length;)Nv(n, i, o[a++], o[a++], o[a++]) } function Nv(e, t, i, n, r) { const s = kt(null); try { const o = e.inputTransforms; null !== o && o.hasOwnProperty(n) && (r = o[n].call(t, r)), null !== e.setInput ? e.setInput(t, r, i, n) : t[n] = r } finally { kt(s) } } function vN(e, t, i) { let n = null, r = 0; for (; r < i.length;) { const s = i[r]; if (0 !== s) if (5 !== s) { if ("number" == typeof s) break; if (e.hasOwnProperty(s)) { null === n && (n = []); const o = e[s]; for (let a = 0; a < o.length; a += 2)if (o[a] === t) { n.push(s, o[a + 1], i[r + 1]); break } } r += 2 } else r += 2; else r += 4 } return n } function Av(e, t, i, n) { return [e, !0, !1, t, null, 0, n, i, null, null, null] } function Ov(e, t) { const i = e.contentQueries; if (null !== i) for (let n = 0; n < i.length; n += 2) { const s = i[n + 1]; if (-1 !== s) { const o = e.data[s]; hd(i[n]), o.contentQueries(2, t[s], s) } } } function ic(e, t) { return e[No] ? e[Zg][ni] = t : e[No] = t, e[Zg] = t, t } function Pf(e, t, i) { hd(0); const n = kt(null); try { t(e, i) } finally { kt(n) } } function xv(e) { return e[hs] || (e[hs] = []) } function Rv(e) { return e.cleanup || (e.cleanup = []) } function Fv(e, t) { const i = e[tr], n = i ? i.get(Ar, null) : null; n && n.handleError(t) } function Ff(e, t, i, n, r) { for (let s = 0; s < i.length;) { const o = i[s++], a = i[s++]; Nv(e.data[o], t[o], n, a, r) } } function yN(e, t) { const i = On(t, e), n = i[H]; !function bN(e, t) { for (let i = t.length; i < e.blueprint.length; i++)t.push(e.blueprint[i]) }(n, i); const r = i[ht]; null !== r && null === i[Hi] && (i[Hi] = pf(r, i[tr])), kf(n, i, i[vt]) } function kf(e, t, i) { pd(t); try { const n = e.viewQuery; null !== n && Pf(1, n, i); const r = e.template; null !== r && wv(e, t, r, 1, i), e.firstCreatePass && (e.firstCreatePass = !1), e.staticContentQueries && Ov(e, t), e.staticViewQueries && Pf(2, e.viewQuery, i); const s = e.components; null !== s && function DN(e, t) { for (let i = 0; i < t.length; i++)yN(e, t[i]) }(t, s) } catch (n) { throw e.firstCreatePass && (e.incompleteFirstPass = !0, e.firstCreatePass = !1), n } finally { t[ie] &= -5, gd() } } let kv = (() => { var e; class t { constructor() { this.all = new Set, this.queue = new Map } create(n, r, s) { const o = typeof Zone > "u" ? null : Zone.current, a = new PS(n, u => { this.all.has(u) && this.queue.set(u, o) }, s); let l; this.all.add(a), a.notify(); const c = () => { a.cleanup(), l?.(), this.all.delete(a), this.queue.delete(a) }; return l = r?.onDestroy(c), { destroy: c } } flush() { if (0 !== this.queue.size) for (const [n, r] of this.queue) this.queue.delete(n), r ? r.run(() => n.run()) : n.run() } get isQueueEmpty() { return 0 === this.queue.size } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: () => new e }), t })(); function rc(e, t, i) { let n = i ? e.styles : null, r = i ? e.classes : null, s = 0; if (null !== t) for (let o = 0; o < t.length; o++) { const a = t[o]; "number" == typeof a ? s = a : 1 == s ? r = Vu(r, a) : 2 == s && (n = Vu(n, a + ": " + t[++o] + ";")) } i ? e.styles = n : e.stylesWithoutHost = n, i ? e.classes = r : e.classesWithoutHost = r } function Ko(e, t, i, n, r = !1) { for (; null !== i;) { const s = t[i.index]; null !== s && n.push(We(s)), rn(s) && Lv(s, n); const o = i.type; if (8 & o) Ko(e, t, i.child, n); else if (32 & o) { const a = Fd(i, t); let l; for (; l = a();)n.push(l) } else if (16 & o) { const a = wm(t, i); if (Array.isArray(a)) n.push(...a); else { const l = jo(t[yt]); Ko(l[H], l, a, n, !0) } } i = r ? i.projectionNext : i.next } return n } function Lv(e, t) { for (let i = Ht; i < e.length; i++) { const n = e[i], r = n[H].firstChild; null !== r && Ko(n[H], n, r, t) } e[Ci] !== e[ht] && t.push(e[Ci]) } function sc(e, t, i, n = !0) { const r = t[ps], s = r.rendererFactory, o = r.afterRenderEventManager; s.begin?.(), o?.begin(); try { Bv(e, t, e.template, i) } catch (l) { throw n && Fv(t, l), l } finally { s.end?.(), r.effectManager?.flush(), o?.end() } } function Bv(e, t, i, n) { const r = t[ie]; if (256 != (256 & r)) { t[ps].effectManager?.flush(), pd(t); try { f_(t), function b_(e) { return K.lFrame.bindingIndex = e }(e.bindingStartIndex), null !== i && wv(e, t, i, 2, n); const o = 3 == (3 & r); if (o) { const c = e.preOrderCheckHooks; null !== c && vl(t, c, null) } else { const c = e.preOrderHooks; null !== c && yl(t, c, 0, null), _d(t, 0) } if (function EN(e) { for (let t = um(e); null !== t; t = dm(t)) { if (!t[Qg]) continue; const i = t[ms]; for (let n = 0; n < i.length; n++) { GS(i[n]) } } }(t), Vv(t, 2), null !== e.contentQueries && Ov(e, t), o) { const c = e.contentCheckHooks; null !== c && vl(t, c) } else { const c = e.contentHooks; null !== c && yl(t, c, 1), _d(t, 1) } !function ZI(e, t) { const i = e.hostBindingOpCodes; if (null === i) return; const n = yv(t, cl); try { for (let r = 0; r < i.length; r++) { const s = i[r]; if (s < 0) Sr(~s); else { const o = s, a = i[++r], l = i[++r]; nT(a, o), n.runInContext(l, 2, t[o]) } } } finally { null === t[cl] && bv(t, cl), Sr(-1) } }(e, t); const a = e.components; null !== a && Uv(t, a, 0); const l = e.viewQuery; if (null !== l && Pf(2, l, n), o) { const c = e.viewCheckHooks; null !== c && vl(t, c) } else { const c = e.viewHooks; null !== c && yl(t, c, 2), _d(t, 2) } !0 === e.firstUpdatePass && (e.firstUpdatePass = !1), t[ie] &= -73, h_(t) } finally { gd() } } } function Vv(e, t) { for (let i = um(e); null !== i; i = dm(i))for (let n = Ht; n < i.length; n++)Hv(i[n], t) } function SN(e, t, i) { Hv(On(t, e), i) } function Hv(e, t) { if (!function jS(e) { return 128 == (128 & e[ie]) }(e)) return; const i = e[H]; if (80 & e[ie] && 0 === t || 1024 & e[ie] || 2 === t) Bv(i, e, i.template, e[vt]); else if (e[Io] > 0) { Vv(e, 1); const r = e[H].components; null !== r && Uv(e, r, 1) } } function Uv(e, t, i) { for (let n = 0; n < t.length; n++)SN(e, t[n], i) } class Xo { get rootNodes() { const t = this._lView, i = t[H]; return Ko(i, t, i.firstChild, []) } constructor(t, i) { this._lView = t, this._cdRefInjectingView = i, this._appRef = null, this._attachedToViewContainer = !1 } get context() { return this._lView[vt] } set context(t) { this._lView[vt] = t } get destroyed() { return 256 == (256 & this._lView[ie]) } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { const t = this._lView[tt]; if (rn(t)) { const i = t[8], n = i ? i.indexOf(this) : -1; n > -1 && (Pl(t, n), El(i, n)) } this._attachedToViewContainer = !1 } Ld(this._lView[H], this._lView) } onDestroy(t) { !function g_(e, t) { if (256 == (256 & e[ie])) throw new F(911, !1); null === e[nr] && (e[nr] = []), e[nr].push(t) }(this._lView, t) } markForCheck() { Jo(this._cdRefInjectingView || this._lView) } detach() { this._lView[ie] &= -129 } reattach() { this._lView[ie] |= 128 } detectChanges() { sc(this._lView[H], this._lView, this.context) } checkNoChanges() { } attachToViewContainerRef() { if (this._appRef) throw new F(902, !1); this._attachedToViewContainer = !0 } detachFromAppRef() { this._appRef = null, function _M(e, t) { Go(e, t, t[ne], 2, null, null) }(this._lView[H], this._lView) } attachToAppRef(t) { if (this._attachedToViewContainer) throw new F(902, !1); this._appRef = t } } class TN extends Xo { constructor(t) { super(t), this._view = t } detectChanges() { const t = this._view; sc(t[H], t, t[vt], !1) } checkNoChanges() { } get context() { return null } } class jv extends Kl { constructor(t) { super(), this.ngModule = t } resolveComponentFactory(t) { const i = me(t); return new ea(i, this.ngModule) } } function $v(e) { const t = []; for (let i in e) e.hasOwnProperty(i) && t.push({ propName: e[i], templateName: i }); return t } class IN { constructor(t, i) { this.injector = t, this.parentInjector = i } get(t, i, n) { n = rl(n); const r = this.injector.get(t, vf, n); return r !== vf || i === vf ? r : this.parentInjector.get(t, i, n) } } class ea extends Qm { get inputs() { const t = this.componentDef, i = t.inputTransforms, n = $v(t.inputs); if (null !== i) for (const r of n) i.hasOwnProperty(r.propName) && (r.transform = i[r.propName]); return n } get outputs() { return $v(this.componentDef.outputs) } constructor(t, i) { super(), this.componentDef = t, this.ngModule = i, this.componentType = t.type, this.selector = function _S(e) { return e.map(gS).join(",") }(t.selectors), this.ngContentSelectors = t.ngContentSelectors ? t.ngContentSelectors : [], this.isBoundToModule = !!i } create(t, i, n, r) { let s = (r = r || this.ngModule) instanceof zn ? r : r?.injector; s && null !== this.componentDef.getStandaloneInjector && (s = this.componentDef.getStandaloneInjector(s) || s); const o = s ? new IN(t, s) : t, a = o.get(mf, null); if (null === a) throw new F(407, !1); const h = { rendererFactory: a, sanitizer: o.get(SI, null), effectManager: o.get(kv, null), afterRenderEventManager: o.get(Ef, null) }, g = a.createRenderer(null, this.componentDef), _ = this.componentDef.selectors[0][0] || "div", y = n ? function QI(e, t, i, n) { const s = n.get(hv, !1) || i === ei.ShadowDom, o = e.selectRootElement(t, s); return function KI(e) { Ev(e) }(o), o }(g, n, this.componentDef.encapsulation, o) : Rl(g, _, function MN(e) { const t = e.toLowerCase(); return "svg" === t ? "svg" : "math" === t ? "math" : null }(_)), T = this.componentDef.signals ? 4608 : this.componentDef.onPush ? 576 : 528; let C = null; null !== y && (C = pf(y, o, !0)); const P = Af(0, null, null, 1, 0, null, null, null, null, null, null), O = nc(null, P, null, T, null, null, h, g, o, null, C); let V, J; pd(O); try { const ue = this.componentDef; let _e, lt = null; ue.findHostDirectiveDefs ? (_e = [], lt = new Map, ue.findHostDirectiveDefs(ue, _e, lt), _e.push(ue)) : _e = [ue]; const Dt = function AN(e, t) { const i = e[H], n = pe; return e[n] = t, js(i, n, 2, "#host", null) }(O, y), Bt = function ON(e, t, i, n, r, s, o) { const a = r[H]; !function xN(e, t, i, n) { for (const r of e) t.mergedAttrs = To(t.mergedAttrs, r.hostAttrs); null !== t.mergedAttrs && (rc(t, t.mergedAttrs, !0), null !== i && Tm(n, i, t)) }(n, e, t, o); let l = null; null !== t && (l = pf(t, r[tr])); const c = s.rendererFactory.createRenderer(t, i); let u = 16; i.signals ? u = 4096 : i.onPush && (u = 64); const h = nc(r, Cv(i), null, u, r[e.index], e, s, c, null, null, l); return a.firstCreatePass && xf(a, e, n.length - 1), ic(r, h), r[e.index] = h }(Dt, y, ue, _e, O, h, g); J = d_(P, pe), y && function PN(e, t, i, n) { if (n) Xu(e, i, ["ng-version", TI.full]); else { const { attrs: r, classes: s } = function mS(e) { const t = [], i = []; let n = 1, r = 2; for (; n < e.length;) { let s = e[n]; if ("string" == typeof s) 2 === r ? "" !== s && t.push(s, e[++n]) : 8 === r && i.push(s); else { if (!ti(r)) break; r = s } n++ } return { attrs: t, classes: i } }(t.selectors[0]); r && Xu(e, i, r), s && s.length > 0 && Sm(e, i, s.join(" ")) } }(g, ue, y, n), void 0 !== i && function FN(e, t, i) { const n = e.projection = []; for (let r = 0; r < t.length; r++) { const s = i[r]; n.push(null != s ? Array.from(s) : null) } }(J, this.ngContentSelectors, i), V = function RN(e, t, i, n, r, s) { const o = Ut(), a = r[H], l = yn(o, r); Mv(a, r, o, i, null, n); for (let u = 0; u < i.length; u++)Zt(Tr(r, a, o.directiveStart + u, o), r); Iv(a, r, o), l && Zt(l, r); const c = Tr(r, a, o.directiveStart + o.componentOffset, o); if (e[vt] = r[vt] = c, null !== s) for (const u of s) u(c, t); return Mf(a, o, e), c }(Bt, ue, _e, lt, O, [kN]), kf(P, O, null) } finally { gd() } return new NN(this.componentType, V, Vs(J, O), O, J) } } class NN extends yI { constructor(t, i, n, r, s) { super(), this.location = n, this._rootLView = r, this._tNode = s, this.previousInputValues = null, this.instance = i, this.hostView = this.changeDetectorRef = new TN(r), this.componentType = t } setInput(t, i) { const n = this._tNode.inputs; let r; if (null !== n && (r = n[t])) { if (this.previousInputValues ??= new Map, this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), i)) return; const s = this._rootLView; Ff(s[H], s, r, t, i), this.previousInputValues.set(t, i), Jo(On(this._tNode.index, s)) } } get injector() { return new un(this._tNode, this._rootLView) } destroy() { this.hostView.destroy() } onDestroy(t) { this.hostView.onDestroy(t) } } function kN() { const e = Ut(); ml(A()[H], e) } function Oe(e) { let t = function Gv(e) { return Object.getPrototypeOf(e.prototype).constructor }(e.type), i = !0; const n = [e]; for (; t;) { let r; if (ii(e)) r = t.\u0275cmp || t.\u0275dir; else { if (t.\u0275cmp) throw new F(903, !1); r = t.\u0275dir } if (r) { if (i) { n.push(r); const o = e; o.inputs = oc(e.inputs), o.inputTransforms = oc(e.inputTransforms), o.declaredInputs = oc(e.declaredInputs), o.outputs = oc(e.outputs); const a = r.hostBindings; a && HN(e, a); const l = r.viewQuery, c = r.contentQueries; if (l && BN(e, l), c && VN(e, c), Ka(e.inputs, r.inputs), Ka(e.declaredInputs, r.declaredInputs), Ka(e.outputs, r.outputs), null !== r.inputTransforms && (null === o.inputTransforms && (o.inputTransforms = {}), Ka(o.inputTransforms, r.inputTransforms)), ii(r) && r.data.animation) { const u = e.data; u.animation = (u.animation || []).concat(r.data.animation) } } const s = r.features; if (s) for (let o = 0; o < s.length; o++) { const a = s[o]; a && a.ngInherit && a(e), a === Oe && (i = !1) } } t = Object.getPrototypeOf(t) } !function LN(e) { let t = 0, i = null; for (let n = e.length - 1; n >= 0; n--) { const r = e[n]; r.hostVars = t += r.hostVars, r.hostAttrs = To(r.hostAttrs, i = To(i, r.hostAttrs)) } }(n) } function oc(e) { return e === Di ? {} : e === Ee ? [] : e } function BN(e, t) { const i = e.viewQuery; e.viewQuery = i ? (n, r) => { t(n, r), i(n, r) } : t } function VN(e, t) { const i = e.contentQueries; e.contentQueries = i ? (n, r, s) => { t(n, r, s), i(n, r, s) } : t } function HN(e, t) { const i = e.hostBindings; e.hostBindings = i ? (n, r) => { t(n, r), i(n, r) } : t } function ac(e) { return !!function Lf(e) { return null !== e && ("function" == typeof e || "object" == typeof e) }(e) && (Array.isArray(e) || !(e instanceof Map) && Symbol.iterator in e) } function Qt(e, t, i) { return !Object.is(e[t], i) && (e[t] = i, !0) } function Te(e, t, i, n) { const r = A(); return Qt(r, bs(), t) && (ve(), Ii(ot(), r, e, t, i, n)), Te } function Gs(e, t, i, n) { return Qt(e, bs(), i) ? t + te(i) + n : re } function B(e, t, i, n, r, s, o, a) { const l = A(), c = ve(), u = e + pe, h = c.firstCreatePass ? function dA(e, t, i, n, r, s, o, a, l) { const c = t.consts, u = js(t, e, 4, o || null, ir(c, a)); Of(t, i, u, ir(c, l)), ml(t, u); const h = u.tView = Af(2, u, n, r, s, t.directiveRegistry, t.pipeRegistry, null, t.schemas, c, null); return null !== t.queries && (t.queries.template(t, u), h.queries = t.queries.embeddedTView(u)), u }(u, c, l, t, i, n, r, s, o) : c.data[u]; Ti(h, !1); const g = oy(c, l, h, e); _l() && kl(c, l, g, h), Zt(g, l), ic(l, l[u] = Av(g, l, g, h)), dl(h) && If(c, l, h), null != o && Nf(l, h, a) } let oy = function ay(e, t, i, n) { return rr(!0), t[ne].createComment("") }; function x(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !1), x } function $f(e, t, i, n, r) { const o = r ? "class" : "style"; Ff(e, i, t.inputs[o], o, n) } function j(e, t, i, n) { const r = A(), s = ve(), o = pe + e, a = r[ne], l = s.firstCreatePass ? function gA(e, t, i, n, r, s) { const o = t.consts, l = js(t, e, 2, n, ir(o, r)); return Of(t, i, l, ir(o, s)), null !== l.attrs && rc(l, l.attrs, !1), null !== l.mergedAttrs && rc(l, l.mergedAttrs, !0), null !== t.queries && t.queries.elementStart(t, l), l }(o, s, r, t, i, n) : s.data[o], c = ly(s, r, l, a, t, e); r[o] = c; const u = dl(l); return Ti(l, !0), Tm(a, c, l), 32 != (32 & l.flags) && _l() && kl(s, r, c, l), 0 === function WS() { return K.lFrame.elementDepthCount }() && Zt(c, r), function qS() { K.lFrame.elementDepthCount++ }(), u && (If(s, r, l), Mf(s, l, r)), null !== n && Nf(r, l), j } function U() { let e = Ut(); cd() ? ud() : (e = e.parent, Ti(e, !1)); const t = e; (function ZS(e) { return K.skipHydrationRootTNode === e })(t) && function XS() { K.skipHydrationRootTNode = null }(), function YS() { K.lFrame.elementDepthCount-- }(); const i = ve(); return i.firstCreatePass && (ml(i, e), td(e) && i.queries.elementEnd(e)), null != t.classesWithoutHost && function pT(e) { return 0 != (8 & e.flags) }(t) && $f(i, t, A(), t.classesWithoutHost, !0), null != t.stylesWithoutHost && function gT(e) { return 0 != (16 & e.flags) }(t) && $f(i, t, A(), t.stylesWithoutHost, !1), U } function Be(e, t, i, n) { return j(e, t, i, n), U(), Be } let ly = (e, t, i, n, r, s) => (rr(!0), Rl(n, r, function I_() { return K.lFrame.currentNamespace }())); function Dn() { return A() } function fc(e) { return !!e && "function" == typeof e.then } function dy(e) { return !!e && "function" == typeof e.subscribe } function ce(e, t, i, n) { const r = A(), s = ve(), o = Ut(); return function hy(e, t, i, n, r, s, o) { const a = dl(n), c = e.firstCreatePass && Rv(e), u = t[vt], h = xv(t); let g = !0; if (3 & n.type || o) { const b = yn(n, t), D = o ? o(b) : b, T = h.length, C = o ? O => o(We(O[n.index])) : n.index; let P = null; if (!o && a && (P = function DA(e, t, i, n) { const r = e.cleanup; if (null != r) for (let s = 0; s < r.length - 1; s += 2) { const o = r[s]; if (o === i && r[s + 1] === n) { const a = t[hs], l = r[s + 2]; return a.length > l ? a[l] : null } "string" == typeof o && (s += 2) } return null }(e, t, r, n.index)), null !== P) (P.__ngLastListenerFn__ || P).__ngNextListenerFn__ = s, P.__ngLastListenerFn__ = s, g = !1; else { s = gy(n, t, u, s, !1); const O = i.listen(D, r, s); h.push(s, O), c && c.push(r, C, T, T + 1) } } else s = gy(n, t, u, s, !1); const _ = n.outputs; let y; if (g && null !== _ && (y = _[r])) { const b = y.length; if (b) for (let D = 0; D < b; D += 2) { const V = t[y[D]][y[D + 1]].subscribe(s), J = h.length; h.push(s, V), c && c.push(r, n.index, J, -(J + 1)) } } }(s, r, r[ne], o, e, t, n), ce } function py(e, t, i, n) { try { return Si(6, t, i), !1 !== i(n) } catch (r) { return Fv(e, r), !1 } finally { Si(7, t, i) } } function gy(e, t, i, n, r) { return function s(o) { if (o === Function) return n; Jo(e.componentOffset > -1 ? On(e.index, t) : t); let l = py(t, i, n, o), c = s.__ngNextListenerFn__; for (; c;)l = py(t, i, c, o) && l, c = c.__ngNextListenerFn__; return r && !1 === l && o.preventDefault(), l } } function z(e = 1) { return function sT(e) { return (K.lFrame.contextLView = function oT(e, t) { for (; e > 0;)t = t[gs], e--; return t }(e, K.lFrame.contextLView))[vt] }(e) } function wA(e, t) { let i = null; const n = function dS(e) { const t = e.attrs; if (null != t) { const i = t.indexOf(5); if (!(1 & i)) return t[i + 1] } return null }(e); for (let r = 0; r < t.length; r++) { const s = t[r]; if ("*" !== s) { if (null === n ? $g(e, s, !0) : pS(n, s)) return r } else i = r } return i } function Wf(e) { const t = A()[yt][Yt]; if (!t.projection) { const n = t.projection = Vo(e ? e.length : 1, null), r = n.slice(); let s = t.child; for (; null !== s;) { const o = e ? wA(s, e) : 0; null !== o && (r[o] ? r[o].projectionNext = s : n[o] = s, r[o] = s), s = s.next } } } function qf(e, t = 0, i) { const n = A(), r = ve(), s = js(r, pe + e, 16, null, i || null); null === s.projection && (s.projection = t), ud(), (!n[Hi] || ys()) && 32 != (32 & s.flags) && function EM(e, t, i) { Em(t[ne], 0, t, i, Vd(e, i, t), vm(i.parent || t[Yt], i, t)) }(r, n, s) } function Pn(e, t, i) { return hc(e, "", t, "", i), Pn } function hc(e, t, i, n, r) { const s = A(), o = Gs(s, t, i, n); return o !== re && Rn(ve(), ot(), s, e, o, s[ne], r, !1), hc } function pc(e, t) { return e << 17 | t << 2 } function ar(e) { return e >> 17 & 32767 } function Yf(e) { return 2 | e } function xr(e) { return (131068 & e) >> 2 } function Zf(e, t) { return -131069 & e | t << 2 } function Jf(e) { return 1 | e } function Ey(e, t, i, n, r) { const s = e[i + 1], o = null === t; let a = n ? ar(s) : xr(s), l = !1; for (; 0 !== a && (!1 === l || o);) { const u = e[a + 1]; IA(e[a], t) && (l = !0, e[a + 1] = n ? Jf(u) : Yf(u)), a = n ? ar(u) : xr(u) } l && (e[i + 1] = n ? Yf(s) : Jf(s)) } function IA(e, t) { return null === e || null == t || (Array.isArray(e) ? e[1] : e) === t || !(!Array.isArray(e) || "string" != typeof t) && Ns(e, t) >= 0 } const Ot = { textEnd: 0, key: 0, keyEnd: 0, value: 0, valueEnd: 0 }; function Sy(e) { return e.substring(Ot.key, Ot.keyEnd) } function Ty(e, t) { const i = Ot.textEnd; return i === t ? -1 : (t = Ot.keyEnd = function xA(e, t, i) { for (; t < i && e.charCodeAt(t) > 32;)t++; return t }(e, Ot.key = t, i), Ks(e, t, i)) } function Ks(e, t, i) { for (; t < i && e.charCodeAt(t) <= 32;)t++; return t } function De(e, t) { return function ri(e, t, i, n) { const r = A(), s = ve(), o = ji(2); s.firstUpdatePass && Ry(s, e, o, n), t !== re && Qt(r, o, t) && Fy(s, s.data[cn()], r, r[ne], e, r[o + 1] = function $A(e, t) { return null == e || "" === e || ("string" == typeof t ? e += t : "object" == typeof e && (e = Nt(or(e)))), e }(t, i), n, o) }(e, t, null, !0), De } function Rr(e) { !function si(e, t, i, n) { const r = ve(), s = ji(2); r.firstUpdatePass && Ry(r, null, s, n); const o = A(); if (i !== re && Qt(o, s, i)) { const a = r.data[cn()]; if (Ly(a, n) && !xy(r, s)) { let l = n ? a.classesWithoutHost : a.stylesWithoutHost; null !== l && (i = Vu(l, i || "")), $f(r, a, o, i, n) } else !function jA(e, t, i, n, r, s, o, a) { r === re && (r = Ee); let l = 0, c = 0, u = 0 < r.length ? r[0] : null, h = 0 < s.length ? s[0] : null; for (; null !== u || null !== h;) { const g = l < r.length ? r[l + 1] : void 0, _ = c < s.length ? s[c + 1] : void 0; let b, y = null; u === h ? (l += 2, c += 2, g !== _ && (y = h, b = _)) : null === h || null !== u && u < h ? (l += 2, y = u) : (c += 2, y = h, b = _), null !== y && Fy(e, t, i, n, y, b, o, a), u = l < r.length ? r[l] : null, h = c < s.length ? s[c] : null } }(r, a, o, o[ne], o[s + 1], o[s + 1] = function HA(e, t, i) { if (null == i || "" === i) return Ee; const n = [], r = or(i); if (Array.isArray(r)) for (let s = 0; s < r.length; s++)e(n, r[s], !0); else if ("object" == typeof r) for (const s in r) r.hasOwnProperty(s) && e(n, s, r[s]); else "string" == typeof r && t(n, r); return n }(e, t, i), n, s) } }(UA, xi, e, !0) } function xi(e, t) { for (let i = function AA(e) { return function Iy(e) { Ot.key = 0, Ot.keyEnd = 0, Ot.value = 0, Ot.valueEnd = 0, Ot.textEnd = e.length }(e), Ty(e, Ks(e, 0, Ot.textEnd)) }(t); i >= 0; i = Ty(t, i))xn(e, Sy(t), !0) } function xy(e, t) { return t >= e.expandoStartIndex } function Ry(e, t, i, n) { const r = e.data; if (null === r[i + 1]) { const s = r[cn()], o = xy(e, i); Ly(s, n) && null === t && !o && (t = !1), t = function kA(e, t, i, n) { const r = function fd(e) { const t = K.lFrame.currentDirectiveIndex; return -1 === t ? null : e[t] }(e); let s = n ? t.residualClasses : t.residualStyles; if (null === r) 0 === (n ? t.classBindings : t.styleBindings) && (i = oa(i = Qf(null, e, t, i, n), t.attrs, n), s = null); else { const o = t.directiveStylingLast; if (-1 === o || e[o] !== r) if (i = Qf(r, e, t, i, n), null === s) { let l = function LA(e, t, i) { const n = i ? t.classBindings : t.styleBindings; if (0 !== xr(n)) return e[ar(n)] }(e, t, n); void 0 !== l && Array.isArray(l) && (l = Qf(null, e, t, l[1], n), l = oa(l, t.attrs, n), function BA(e, t, i, n) { e[ar(i ? t.classBindings : t.styleBindings)] = n }(e, t, n, l)) } else s = function VA(e, t, i) { let n; const r = t.directiveEnd; for (let s = 1 + t.directiveStylingLast; s < r; s++)n = oa(n, e[s].hostAttrs, i); return oa(n, t.attrs, i) }(e, t, n) } return void 0 !== s && (n ? t.residualClasses = s : t.residualStyles = s), i }(r, s, t, n), function TA(e, t, i, n, r, s) { let o = s ? t.classBindings : t.styleBindings, a = ar(o), l = xr(o); e[n] = i; let u, c = !1; if (Array.isArray(i) ? (u = i[1], (null === u || Ns(i, u) > 0) && (c = !0)) : u = i, r) if (0 !== l) { const g = ar(e[a + 1]); e[n + 1] = pc(g, a), 0 !== g && (e[g + 1] = Zf(e[g + 1], n)), e[a + 1] = function EA(e, t) { return 131071 & e | t << 17 }(e[a + 1], n) } else e[n + 1] = pc(a, 0), 0 !== a && (e[a + 1] = Zf(e[a + 1], n)), a = n; else e[n + 1] = pc(l, 0), 0 === a ? a = n : e[l + 1] = Zf(e[l + 1], n), l = n; c && (e[n + 1] = Yf(e[n + 1])), Ey(e, u, n, !0), Ey(e, u, n, !1), function MA(e, t, i, n, r) { const s = r ? e.residualClasses : e.residualStyles; null != s && "string" == typeof t && Ns(s, t) >= 0 && (i[n + 1] = Jf(i[n + 1])) }(t, u, e, n, s), o = pc(a, l), s ? t.classBindings = o : t.styleBindings = o }(r, s, t, i, o, n) } } function Qf(e, t, i, n, r) { let s = null; const o = i.directiveEnd; let a = i.directiveStylingLast; for (-1 === a ? a = i.directiveStart : a++; a < o && (s = t[a], n = oa(n, s.hostAttrs, r), s !== e);)a++; return null !== e && (i.directiveStylingLast = a), n } function oa(e, t, i) { const n = i ? 1 : 2; let r = -1; if (null !== t) for (let s = 0; s < t.length; s++) { const o = t[s]; "number" == typeof o ? r = o : r === n && (Array.isArray(e) || (e = void 0 === e ? [] : ["", e]), xn(e, o, !!i || t[++s])) } return void 0 === e ? null : e } function UA(e, t, i) { const n = String(t); "" !== n && !n.includes(" ") && xn(e, n, i) } function Fy(e, t, i, n, r, s, o, a) { if (!(3 & t.type)) return; const l = e.data, c = l[a + 1], u = function SA(e) { return 1 == (1 & e) }(c) ? ky(l, t, i, r, xr(c), o) : void 0; gc(u) || (gc(s) || function CA(e) { return 2 == (2 & e) }(c) && (s = ky(l, null, i, r, a, o)), function TM(e, t, i, n, r) { if (t) r ? e.addClass(i, n) : e.removeClass(i, n); else { let s = -1 === n.indexOf("-") ? void 0 : sr.DashCase; null == r ? e.removeStyle(i, n, s) : ("string" == typeof r && r.endsWith("!important") && (r = r.slice(0, -10), s |= sr.Important), e.setStyle(i, n, r, s)) } }(n, o, gl(cn(), i), r, s)) } function ky(e, t, i, n, r, s) { const o = null === t; let a; for (; r > 0;) { const l = e[r], c = Array.isArray(l), u = c ? l[1] : l, h = null === u; let g = i[r + 1]; g === re && (g = h ? Ee : void 0); let _ = h ? Ed(g, n) : u === n ? g : void 0; if (c && !gc(_) && (_ = Ed(l, n)), gc(_) && (a = _, o)) return a; const y = e[r + 1]; r = o ? ar(y) : xr(y) } if (null !== t) { let l = s ? t.residualClasses : t.residualStyles; null != l && (a = Ed(l, n)) } return a } function gc(e) { return void 0 !== e } function Ly(e, t) { return 0 != (e.flags & (t ? 8 : 16)) } function qe(e, t = "") { const i = A(), n = ve(), r = e + pe, s = n.firstCreatePass ? js(n, r, 1, t, null) : n.data[r], o = By(n, i, s, t, e); i[r] = o, _l() && kl(n, i, o, s), Ti(s, !1) } let By = (e, t, i, n, r) => (rr(!0), function xl(e, t) { return e.createText(t) }(t[ne], n)); function jt(e) { return Ri("", e, ""), jt } function Ri(e, t, i) { const n = A(), r = Gs(n, e, t, i); return r !== re && function zi(e, t, i) { const n = gl(t, e); !function hm(e, t, i) { e.setValue(t, i) }(e[ne], n, i) }(n, cn(), r), Ri } function Yn(e, t, i) { const n = A(); return Qt(n, bs(), t) && Rn(ve(), ot(), n, e, t, n[ne], i, !0), Yn } const eo = "en-US"; let o0 = eo; function eh(e, t, i, n, r) { if (e = X(e), Array.isArray(e)) for (let s = 0; s < e.length; s++)eh(e[s], t, i, n, r); else { const s = ve(), o = A(), a = Ut(); let l = Ir(e) ? e : X(e.provide); const c = zm(e), u = 1048575 & a.providerIndexes, h = a.directiveStart, g = a.providerIndexes >> 20; if (Ir(e) || !e.multi) { const _ = new Po(c, r, v), y = nh(l, t, r ? u : u + g, h); -1 === y ? (Dd(Dl(a, o), s, l), th(s, e, t.length), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(_), o.push(_)) : (i[y] = _, o[y] = _) } else { const _ = nh(l, t, u + g, h), y = nh(l, t, u, u + g), D = y >= 0 && i[y]; if (r && !D || !r && !(_ >= 0 && i[_])) { Dd(Dl(a, o), s, l); const T = function cx(e, t, i, n, r) { const s = new Po(e, i, v); return s.multi = [], s.index = t, s.componentProviders = 0, O0(s, r, n && !i), s }(r ? lx : ax, i.length, r, n, c); !r && D && (i[y].providerFactory = T), th(s, e, t.length, 0), t.push(l), a.directiveStart++, a.directiveEnd++, r && (a.providerIndexes += 1048576), i.push(T), o.push(T) } else th(s, e, _ > -1 ? _ : y, O0(i[r ? y : _], c, !r && n)); !r && n && D && i[y].componentProviders++ } } } function th(e, t, i, n) { const r = Ir(t), s = function nI(e) { return !!e.useClass }(t); if (r || s) { const l = (s ? X(t.useClass) : t).prototype.ngOnDestroy; if (l) { const c = e.destroyHooks || (e.destroyHooks = []); if (!r && t.multi) { const u = c.indexOf(i); -1 === u ? c.push(i, [n, l]) : c[u + 1].push(n, l) } else c.push(i, l) } } } function O0(e, t, i) { return i && e.componentProviders++, e.multi.push(t) - 1 } function nh(e, t, i, n) { for (let r = i; r < n; r++)if (t[r] === e) return r; return -1 } function ax(e, t, i, n) { return ih(this.multi, []) } function lx(e, t, i, n) { const r = this.multi; let s; if (this.providerFactory) { const o = this.providerFactory.componentProviders, a = Tr(i, i[H], this.providerFactory.index, n); s = a.slice(0, o), ih(r, s); for (let l = o; l < a.length; l++)s.push(a[l]) } else s = [], ih(r, s); return s } function ih(e, t) { for (let i = 0; i < e.length; i++)t.push((0, e[i])()); return t } function $e(e, t = []) { return i => { i.providersResolver = (n, r) => function ox(e, t, i) { const n = ve(); if (n.firstCreatePass) { const r = ii(e); eh(i, n.data, n.blueprint, r, !0), eh(t, n.data, n.blueprint, r, !1) } }(n, r ? r(e) : e, t) } } class Fr { } class ux { } class rh extends Fr { constructor(t, i, n) { super(), this._parent = i, this._bootstrapComponents = [], this.destroyCbs = [], this.componentFactoryResolver = new jv(this); const r = function An(e, t) { const i = e[Fg] || null; if (!i && !0 === t) throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`); return i }(t); this._bootstrapComponents = function Gi(e) { return e instanceof Function ? e() : e }(r.bootstrap), this._r3Injector = iv(t, i, [{ provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }, ...n], Nt(t), new Set(["environment"])), this._r3Injector.resolveInjectorInitializers(), this.instance = this._r3Injector.get(t) } get injector() { return this._r3Injector } destroy() { const t = this._r3Injector; !t.destroyed && t.destroy(), this.destroyCbs.forEach(i => i()), this.destroyCbs = null } onDestroy(t) { this.destroyCbs.push(t) } } class sh extends ux { constructor(t) { super(), this.moduleType = t } create(t) { return new rh(this.moduleType, t, []) } } class x0 extends Fr { constructor(t) { super(), this.componentFactoryResolver = new jv(this), this.instance = null; const i = new zl([...t.providers, { provide: Fr, useValue: this }, { provide: Kl, useValue: this.componentFactoryResolver }], t.parent || Gl(), t.debugName, new Set(["environment"])); this.injector = i, t.runEnvironmentInitializers && i.resolveInjectorInitializers() } destroy() { this.injector.destroy() } onDestroy(t) { this.injector.onDestroy(t) } } let px = (() => { var e; class t { constructor(n) { this._injector = n, this.cachedInjectors = new Map } getOrCreateStandaloneInjector(n) { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { const r = Um(0, n.type), s = r.length > 0 ? function hx(e, t, i = null) { return new x0({ providers: e, parent: t, debugName: i, runEnvironmentInitializers: !0 }).injector }([r], this._injector, `Standalone[${n.type.name}]`) : null; this.cachedInjectors.set(n, s) } return this.cachedInjectors.get(n) } ngOnDestroy() { try { for (const n of this.cachedInjectors.values()) null !== n && n.destroy() } finally { this.cachedInjectors.clear() } } } return (e = t).\u0275prov = G({ token: e, providedIn: "environment", factory: () => new e(L(zn)) }), t })(); function Zn(e) { e.getStandaloneInjector = t => t.get(px).getOrCreateStandaloneInjector(e) } function Lx() { return this._results[Symbol.iterator]() } class lh { get changes() { return this._changes || (this._changes = new Y) } constructor(t = !1) { this._emitDistinctChangesOnly = t, this.dirty = !0, this._results = [], this._changesDetected = !1, this._changes = null, this.length = 0, this.first = void 0, this.last = void 0; const i = lh.prototype; i[Symbol.iterator] || (i[Symbol.iterator] = Lx) } get(t) { return this._results[t] } map(t) { return this._results.map(t) } filter(t) { return this._results.filter(t) } find(t) { return this._results.find(t) } reduce(t, i) { return this._results.reduce(t, i) } forEach(t) { this._results.forEach(t) } some(t) { return this._results.some(t) } toArray() { return this._results.slice() } toString() { return this._results.toString() } reset(t, i) { const n = this; n.dirty = !1; const r = function Gn(e) { return e.flat(Number.POSITIVE_INFINITY) }(t); (this._changesDetected = !function NT(e, t, i) { if (e.length !== t.length) return !1; for (let n = 0; n < e.length; n++) { let r = e[n], s = t[n]; if (i && (r = i(r), s = i(s)), s !== r) return !1 } return !0 }(n._results, r, i)) && (n._results = r, n.length = r.length, n.last = r[this.length - 1], n.first = r[0]) } notifyOnChanges() { this._changes && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.emit(this) } setDirty() { this.dirty = !0 } destroy() { this.changes.complete(), this.changes.unsubscribe() } } function Vx(e, t, i, n = !0) { const r = t[H]; if (function vM(e, t, i, n) { const r = Ht + n, s = i.length; n > 0 && (i[r - 1][ni] = t), n < s - Ht ? (t[ni] = i[r], $_(i, Ht + n, t)) : (i.push(t), t[ni] = null), t[tt] = i; const o = t[Ao]; null !== o && i !== o && function yM(e, t) { const i = e[ms]; t[yt] !== t[tt][tt][yt] && (e[Qg] = !0), null === i ? e[ms] = [t] : i.push(t) }(o, t); const a = t[wi]; null !== a && a.insertView(e), t[ie] |= 128 }(r, t, e, i), n) { const s = Ud(i, e), o = t[ne], a = Fl(o, e[Ci]); null !== a && function gM(e, t, i, n, r, s) { n[ht] = r, n[Yt] = t, Go(e, n, i, 1, r, s) }(r, e[Yt], o, t, a, s) } } let nt = (() => { class t { } return t.__NG_ELEMENT_ID__ = jx, t })(); const Hx = nt, Ux = class extends Hx { constructor(t, i, n) { super(), this._declarationLView = t, this._declarationTContainer = i, this.elementRef = n } get ssrId() { return this._declarationTContainer.tView?.ssrId || null } createEmbeddedView(t, i) { return this.createEmbeddedViewImpl(t, i) } createEmbeddedViewImpl(t, i, n) { const r = function Bx(e, t, i, n) { const r = t.tView, a = nc(e, r, i, 4096 & e[ie] ? 4096 : 16, null, t, null, null, null, n?.injector ?? null, n?.hydrationInfo ?? null); a[Ao] = e[t.index]; const c = e[wi]; return null !== c && (a[wi] = c.createEmbeddedView(r)), kf(r, a, i), a }(this._declarationLView, this._declarationTContainer, t, { injector: i, hydrationInfo: n }); return new Xo(r) } }; function jx() { return bc(Ut(), A()) } function bc(e, t) { return 4 & e.type ? new Ux(t, e, Vs(e, t)) : null } let Cn = (() => { class t { } return t.__NG_ELEMENT_ID__ = Yx, t })(); function Yx() { return J0(Ut(), A()) } const Zx = Cn, Y0 = class extends Zx { constructor(t, i, n) { super(), this._lContainer = t, this._hostTNode = i, this._hostLView = n } get element() { return Vs(this._hostTNode, this._hostLView) } get injector() { return new un(this._hostTNode, this._hostLView) } get parentInjector() { const t = wl(this._hostTNode, this._hostLView); if (vd(t)) { const i = ko(t, this._hostLView), n = Fo(t); return new un(i[H].data[n + 8], i) } return new un(null, this._hostLView) } clear() { for (; this.length > 0;)this.remove(this.length - 1) } get(t) { const i = Z0(this._lContainer); return null !== i && i[t] || null } get length() { return this._lContainer.length - Ht } createEmbeddedView(t, i, n) { let r, s; "number" == typeof n ? r = n : null != n && (r = n.index, s = n.injector); const a = t.createEmbeddedViewImpl(i || {}, s, null); return this.insertImpl(a, r, false), a } createComponent(t, i, n, r, s) { const o = t && !function Bo(e) { return "function" == typeof e }(t); let a; if (o) a = i; else { const b = i || {}; a = b.index, n = b.injector, r = b.projectableNodes, s = b.environmentInjector || b.ngModuleRef } const l = o ? t : new ea(me(t)), c = n || this.parentInjector; if (!s && null == l.ngModule) { const D = (o ? c : this.parentInjector).get(zn, null); D && (s = D) } me(l.componentType ?? {}); const _ = l.create(c, r, null, s); return this.insertImpl(_.hostView, a, false), _ } insert(t, i) { return this.insertImpl(t, i, !1) } insertImpl(t, i, n) { const r = t._lView; if (function $S(e) { return rn(e[tt]) }(r)) { const l = this.indexOf(t); if (-1 !== l) this.detach(l); else { const c = r[tt], u = new Y0(c, c[Yt], c[tt]); u.detach(u.indexOf(t)) } } const o = this._adjustIndex(i), a = this._lContainer; return Vx(a, r, o, !n), t.attachToViewContainerRef(), $_(ch(a), o, t), t } move(t, i) { return this.insert(t, i) } indexOf(t) { const i = Z0(this._lContainer); return null !== i ? i.indexOf(t) : -1 } remove(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); n && (El(ch(this._lContainer), i), Ld(n[H], n)) } detach(t) { const i = this._adjustIndex(t, -1), n = Pl(this._lContainer, i); return n && null != El(ch(this._lContainer), i) ? new Xo(n) : null } _adjustIndex(t, i = 0) { return t ?? this.length + i } }; function Z0(e) { return e[8] } function ch(e) { return e[8] || (e[8] = []) } function J0(e, t) { let i; const n = t[e.index]; return rn(n) ? i = n : (i = Av(n, t, null, e), t[e.index] = i, ic(t, i)), Q0(i, t, e, n), new Y0(i, e, t) } let Q0 = function K0(e, t, i, n) { if (e[Ci]) return; let r; r = 8 & i.type ? We(n) : function Jx(e, t) { const i = e[ne], n = i.createComment(""), r = yn(t, e); return Mr(i, Fl(i, r), n, function CM(e, t) { return e.nextSibling(t) }(i, r), !1), n }(t, i), e[Ci] = r }; class uh { constructor(t) { this.queryList = t, this.matches = null } clone() { return new uh(this.queryList) } setDirty() { this.queryList.setDirty() } } class dh { constructor(t = []) { this.queries = t } createEmbeddedView(t) { const i = t.queries; if (null !== i) { const n = null !== t.contentQueries ? t.contentQueries[0] : i.length, r = []; for (let s = 0; s < n; s++) { const o = i.getByIndex(s); r.push(this.queries[o.indexInDeclarationView].clone()) } return new dh(r) } return null } insertView(t) { this.dirtyQueriesWithMatches(t) } detachView(t) { this.dirtyQueriesWithMatches(t) } dirtyQueriesWithMatches(t) { for (let i = 0; i < this.queries.length; i++)null !== i1(t, i).matches && this.queries[i].setDirty() } } class X0 { constructor(t, i, n = null) { this.predicate = t, this.flags = i, this.read = n } } class fh { constructor(t = []) { this.queries = t } elementStart(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].elementStart(t, i) } elementEnd(t) { for (let i = 0; i < this.queries.length; i++)this.queries[i].elementEnd(t) } embeddedTView(t) { let i = null; for (let n = 0; n < this.length; n++) { const r = null !== i ? i.length : 0, s = this.getByIndex(n).embeddedTView(t, r); s && (s.indexInDeclarationView = n, null !== i ? i.push(s) : i = [s]) } return null !== i ? new fh(i) : null } template(t, i) { for (let n = 0; n < this.queries.length; n++)this.queries[n].template(t, i) } getByIndex(t) { return this.queries[t] } get length() { return this.queries.length } track(t) { this.queries.push(t) } } class hh { constructor(t, i = -1) { this.metadata = t, this.matches = null, this.indexInDeclarationView = -1, this.crossesNgTemplate = !1, this._appliesToNextNode = !0, this._declarationNodeIndex = i } elementStart(t, i) { this.isApplyingToNode(i) && this.matchTNode(t, i) } elementEnd(t) { this._declarationNodeIndex === t.index && (this._appliesToNextNode = !1) } template(t, i) { this.elementStart(t, i) } embeddedTView(t, i) { return this.isApplyingToNode(t) ? (this.crossesNgTemplate = !0, this.addMatch(-t.index, i), new hh(this.metadata)) : null } isApplyingToNode(t) { if (this._appliesToNextNode && 1 != (1 & this.metadata.flags)) { const i = this._declarationNodeIndex; let n = t.parent; for (; null !== n && 8 & n.type && n.index !== i;)n = n.parent; return i === (null !== n ? n.index : -1) } return this._appliesToNextNode } matchTNode(t, i) { const n = this.metadata.predicate; if (Array.isArray(n)) for (let r = 0; r < n.length; r++) { const s = n[r]; this.matchTNodeWithReadOption(t, i, Xx(i, s)), this.matchTNodeWithReadOption(t, i, Cl(i, t, s, !1, !1)) } else n === nt ? 4 & i.type && this.matchTNodeWithReadOption(t, i, -1) : this.matchTNodeWithReadOption(t, i, Cl(i, t, n, !1, !1)) } matchTNodeWithReadOption(t, i, n) { if (null !== n) { const r = this.metadata.read; if (null !== r) if (r === Fe || r === Cn || r === nt && 4 & i.type) this.addMatch(i.index, -2); else { const s = Cl(i, t, r, !1, !1); null !== s && this.addMatch(i.index, s) } else this.addMatch(i.index, n) } } addMatch(t, i) { null === this.matches ? this.matches = [t, i] : this.matches.push(t, i) } } function Xx(e, t) { const i = e.localNames; if (null !== i) for (let n = 0; n < i.length; n += 2)if (i[n] === t) return i[n + 1]; return null } function tR(e, t, i, n) { return -1 === i ? function eR(e, t) { return 11 & e.type ? Vs(e, t) : 4 & e.type ? bc(e, t) : null }(t, e) : -2 === i ? function nR(e, t, i) { return i === Fe ? Vs(t, e) : i === nt ? bc(t, e) : i === Cn ? J0(t, e) : void 0 }(e, t, n) : Tr(e, e[H], i, t) } function e1(e, t, i, n) { const r = t[wi].queries[n]; if (null === r.matches) { const s = e.data, o = i.matches, a = []; for (let l = 0; l < o.length; l += 2) { const c = o[l]; a.push(c < 0 ? null : tR(t, s[c], o[l + 1], i.metadata.read)) } r.matches = a } return r.matches } function ph(e, t, i, n) { const r = e.queries.getByIndex(i), s = r.matches; if (null !== s) { const o = e1(e, t, r, i); for (let a = 0; a < s.length; a += 2) { const l = s[a]; if (l > 0) n.push(o[a / 2]); else { const c = s[a + 1], u = t[-l]; for (let h = Ht; h < u.length; h++) { const g = u[h]; g[Ao] === g[tt] && ph(g[H], g, c, n) } if (null !== u[ms]) { const h = u[ms]; for (let g = 0; g < h.length; g++) { const _ = h[g]; ph(_[H], _, c, n) } } } } } return n } function se(e) { const t = A(), i = ve(), n = w_(); hd(n + 1); const r = i1(i, n); if (e.dirty && function US(e) { return 4 == (4 & e[ie]) }(t) === (2 == (2 & r.metadata.flags))) { if (null === r.matches) e.reset([]); else { const s = r.crossesNgTemplate ? ph(i, t, n, []) : e1(i, t, r, n); e.reset(s, CI), e.notifyOnChanges() } return !0 } return !1 } function at(e, t, i) { const n = ve(); n.firstCreatePass && (n1(n, new X0(e, t, i), -1), 2 == (2 & t) && (n.staticViewQueries = !0)), t1(n, A(), t) } function pt(e, t, i, n) { const r = ve(); if (r.firstCreatePass) { const s = Ut(); n1(r, new X0(t, i, n), s.index), function rR(e, t) { const i = e.contentQueries || (e.contentQueries = []); t !== (i.length ? i[i.length - 1] : -1) && i.push(e.queries.length - 1, t) }(r, e), 2 == (2 & i) && (r.staticContentQueries = !0) } t1(r, A(), i) } function oe() { return function iR(e, t) { return e[wi].queries[t].queryList }(A(), w_()) } function t1(e, t, i) { const n = new lh(4 == (4 & i)); (function tN(e, t, i, n) { const r = xv(t); r.push(i), e.firstCreatePass && Rv(e).push(n, r.length - 1) })(e, t, n, n.destroy), null === t[wi] && (t[wi] = new dh), t[wi].queries.push(new uh(n)) } function n1(e, t, i) { null === e.queries && (e.queries = new fh), e.queries.track(new hh(t, i)) } function i1(e, t) { return e.queries.getByIndex(t) } function En(e, t) { return bc(e, t) } const D1 = new W("Application Initializer"); let yh = (() => { var e; class t { constructor() { this.initialized = !1, this.done = !1, this.donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r }), this.appInits = fe(D1, { optional: !0 }) ?? [] } runInitializers() { if (this.initialized) return; const n = []; for (const s of this.appInits) { const o = s(); if (fc(o)) n.push(o); else if (dy(o)) { const a = new Promise((l, c) => { o.subscribe({ complete: l, error: c }) }); n.push(a) } } const r = () => { this.done = !0, this.resolve() }; Promise.all(n).then(() => { r() }).catch(s => { this.reject(s) }), 0 === n.length && r(), this.initialized = !0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const oi = new W("LocaleId", { providedIn: "root", factory: () => fe(oi, ge.Optional | ge.SkipSelf) || function TR() { return typeof $localize < "u" && $localize.locale || eo }() }); let bh = (() => { var e; class t { constructor() { this.taskId = 0, this.pendingTasks = new Set, this.hasPendingTasks = new jE(!1) } add() { this.hasPendingTasks.next(!0); const n = this.taskId++; return this.pendingTasks.add(n), n } remove(n) { this.pendingTasks.delete(n), 0 === this.pendingTasks.size && this.hasPendingTasks.next(!1) } ngOnDestroy() { this.pendingTasks.clear(), this.hasPendingTasks.next(!1) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const S1 = new W(""), Ec = new W(""); let Sh, Ch = (() => { var e; class t { constructor(n, r, s) { this._ngZone = n, this.registry = r, this._pendingCount = 0, this._isZoneStable = !0, this._didWork = !1, this._callbacks = [], this.taskTrackingZone = null, Sh || (function ZR(e) { Sh = e }(s), s.addToWindow(r)), this._watchAngularEvents(), n.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: () => { Se.assertNotInAngularZone(), queueMicrotask(() => { 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()) queueMicrotask(() => { for (; 0 !== this._callbacks.length;) { let n = this._callbacks.pop(); clearTimeout(n.timeoutId), n.doneCb(this._didWork) } this._didWork = !1 }); else { let n = this.getPendingTasks(); this._callbacks = this._callbacks.filter(r => !r.updateCb || !r.updateCb(n) || (clearTimeout(r.timeoutId), !1)), this._didWork = !0 } } getPendingTasks() { return this.taskTrackingZone ? this.taskTrackingZone.macroTasks.map(n => ({ source: n.source, creationLocation: n.creationLocation, data: n.data })) : [] } addCallback(n, r, s) { let o = -1; r && r > 0 && (o = setTimeout(() => { this._callbacks = this._callbacks.filter(a => a.timeoutId !== o), n(this._didWork, this.getPendingTasks()) }, r)), this._callbacks.push({ doneCb: n, timeoutId: o, updateCb: s }) } whenStable(n, r, s) { if (s && !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(n, r, s), this._runCallbacksIfReady() } getPendingRequestCount() { return this._pendingCount } registerApplication(n) { this.registry.registerApplication(n, this) } unregisterApplication(n) { this.registry.unregisterApplication(n) } findProviders(n, r, s) { return [] } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Se), L(Eh), L(Ec)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(), Eh = (() => { var e; class t { constructor() { this._applications = new Map } registerApplication(n, r) { this._applications.set(n, r) } unregisterApplication(n) { this._applications.delete(n) } unregisterAllApplications() { this._applications.clear() } getTestability(n) { return this._applications.get(n) || null } getAllTestabilities() { return Array.from(this._applications.values()) } getAllRootElements() { return Array.from(this._applications.keys()) } findTestabilityInTree(n, r = !0) { return Sh?.findTestabilityInTree(this, n, r) ?? null } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(), lr = null; const T1 = new W("AllowMultipleToken"), Th = new W("PlatformDestroyListeners"), M1 = new W("appBootstrapListener"); function A1(e, t, i = []) { const n = `Platform: ${t}`, r = new W(n); return (s = []) => { let o = Mh(); if (!o || o.injector.get(T1, !1)) { const a = [...i, ...s, { provide: r, useValue: !0 }]; e ? e(a) : function KR(e) { if (lr && !lr.get(T1, !1)) throw new F(400, !1); (function I1() { !function xS(e) { i_ = e }(() => { throw new F(600, !1) }) })(), lr = e; const t = e.get(x1); (function N1(e) { e.get(Wm, null)?.forEach(i => i()) })(e) }(function O1(e = [], t) { return Jt.create({ name: t, providers: [{ provide: tf, useValue: "platform" }, { provide: Th, useValue: new Set([() => lr = null]) }, ...e] }) }(a, n)) } return function eP(e) { const t = Mh(); if (!t) throw new F(401, !1); return t }() } } function Mh() { return lr?.get(x1) ?? null } let x1 = (() => { var e; class t { constructor(n) { this._injector = n, this._modules = [], this._destroyListeners = [], this._destroyed = !1 } bootstrapModuleFactory(n, r) { const s = function tP(e = "zone.js", t) { return "noop" === e ? new BI : "zone.js" === e ? new Se(t) : e }(r?.ngZone, function R1(e) { return { enableLongStackTrace: !1, shouldCoalesceEventChangeDetection: e?.eventCoalescing ?? !1, shouldCoalesceRunChangeDetection: e?.runCoalescing ?? !1 } }({ eventCoalescing: r?.ngZoneEventCoalescing, runCoalescing: r?.ngZoneRunCoalescing })); return s.run(() => { const o = function fx(e, t, i) { return new rh(e, t, i) }(n.moduleType, this.injector, function B1(e) { return [{ provide: Se, useFactory: e }, { provide: Ul, multi: !0, useFactory: () => { const t = fe(iP, { optional: !0 }); return () => t.initialize() } }, { provide: L1, useFactory: nP }, { provide: av, useFactory: lv }] }(() => s)), a = o.injector.get(Ar, null); return s.runOutsideAngular(() => { const l = s.onError.subscribe({ next: c => { a.handleError(c) } }); o.onDestroy(() => { Sc(this._modules, o), l.unsubscribe() }) }), function P1(e, t, i) { try { const n = i(); return fc(n) ? n.catch(r => { throw t.runOutsideAngular(() => e.handleError(r)), r }) : n } catch (n) { throw t.runOutsideAngular(() => e.handleError(n)), n } }(a, s, () => { const l = o.injector.get(yh); return l.runInitializers(), l.donePromise.then(() => (function a0(e) { $n(e, "Expected localeId to be defined"), "string" == typeof e && (o0 = e.toLowerCase().replace(/_/g, "-")) }(o.injector.get(oi, eo) || eo), this._moduleDoBootstrap(o), o)) }) }) } bootstrapModule(n, r = []) { const s = F1({}, r); return function JR(e, t, i) { const n = new sh(i); return Promise.resolve(n) }(0, 0, n).then(o => this.bootstrapModuleFactory(o, s)) } _moduleDoBootstrap(n) { const r = n.injector.get(kr); if (n._bootstrapComponents.length > 0) n._bootstrapComponents.forEach(s => r.bootstrap(s)); else { if (!n.instance.ngDoBootstrap) throw new F(-403, !1); n.instance.ngDoBootstrap(r) } this._modules.push(n) } onDestroy(n) { this._destroyListeners.push(n) } get injector() { return this._injector } destroy() { if (this._destroyed) throw new F(404, !1); this._modules.slice().forEach(r => r.destroy()), this._destroyListeners.forEach(r => r()); const n = this._injector.get(Th, null); n && (n.forEach(r => r()), n.clear()), this._destroyed = !0 } get destroyed() { return this._destroyed } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "platform" }), t })(); function F1(e, t) { return Array.isArray(t) ? t.reduce(F1, e) : { ...e, ...t } } let kr = (() => { var e; class t { constructor() { this._bootstrapListeners = [], this._runningTick = !1, this._destroyed = !1, this._destroyListeners = [], this._views = [], this.internalErrorHandler = fe(L1), this.zoneIsStable = fe(av), this.componentTypes = [], this.components = [], this.isStable = fe(bh).hasPendingTasks.pipe(Bu(n => n ? ds(!1) : this.zoneIsStable), function Tg(e, t = yi) { return e = e ?? $E, mt((i, n) => { let r, s = !0; i.subscribe(ft(n, o => { const a = t(o); (s || !e(r, a)) && (s = !1, r = a, n.next(o)) })) }) }(), Sg()), this._injector = fe(zn) } get destroyed() { return this._destroyed } get injector() { return this._injector } bootstrap(n, r) { const s = n instanceof Qm; if (!this._injector.get(yh).done) throw !s && function Mo(e) { const t = me(e) || Vt(e) || nn(e); return null !== t && t.standalone }(n), new F(405, !1); let a; a = s ? n : this._injector.get(Kl).resolveComponentFactory(n), this.componentTypes.push(a.componentType); const l = function QR(e) { return e.isBoundToModule }(a) ? void 0 : this._injector.get(Fr), u = a.create(Jt.NULL, [], r || a.selector, l), h = u.location.nativeElement, g = u.injector.get(S1, null); return g?.registerApplication(h), u.onDestroy(() => { this.detachView(u.hostView), Sc(this.components, u), g?.unregisterApplication(h) }), this._loadComponent(u), u } tick() { if (this._runningTick) throw new F(101, !1); try { this._runningTick = !0; for (let n of this._views) n.detectChanges() } catch (n) { this.internalErrorHandler(n) } finally { this._runningTick = !1 } } attachView(n) { const r = n; this._views.push(r), r.attachToAppRef(this) } detachView(n) { const r = n; Sc(this._views, r), r.detachFromAppRef() } _loadComponent(n) { this.attachView(n.hostView), this.tick(), this.components.push(n); const r = this._injector.get(M1, []); r.push(...this._bootstrapListeners), r.forEach(s => s(n)) } ngOnDestroy() { if (!this._destroyed) try { this._destroyListeners.forEach(n => n()), this._views.slice().forEach(n => n.destroy()) } finally { this._destroyed = !0, this._views = [], this._bootstrapListeners = [], this._destroyListeners = [] } } onDestroy(n) { return this._destroyListeners.push(n), () => Sc(this._destroyListeners, n) } destroy() { if (this._destroyed) throw new F(406, !1); const n = this._injector; n.destroy && !n.destroyed && n.destroy() } get viewCount() { return this._views.length } warnIfDestroyed() { } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function Sc(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } const L1 = new W("", { providedIn: "root", factory: () => fe(Ar).handleError.bind(void 0) }); function nP() { const e = fe(Se), t = fe(Ar); return i => e.runOutsideAngular(() => t.handleError(i)) } let iP = (() => { var e; class t { constructor() { this.zone = fe(Se), this.applicationRef = fe(kr) } initialize() { this._onMicrotaskEmptySubscription || (this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({ next: () => { this.zone.run(() => { this.applicationRef.tick() }) } })) } ngOnDestroy() { this._onMicrotaskEmptySubscription?.unsubscribe() } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); let gt = (() => { class t { } return t.__NG_ELEMENT_ID__ = sP, t })(); function sP(e) { return function oP(e, t, i) { if (Cr(e) && !i) { const n = On(e.index, t); return new Xo(n, n) } return 47 & e.type ? new Xo(t[yt], t) : null }(Ut(), A(), 16 == (16 & e)) } class j1 { constructor() { } supports(t) { return ac(t) } create(t) { return new fP(t) } } const dP = (e, t) => t; class fP { constructor(t) { 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 = t || dP } forEachItem(t) { let i; for (i = this._itHead; null !== i; i = i._next)t(i) } forEachOperation(t) { let i = this._itHead, n = this._removalsHead, r = 0, s = null; for (; i || n;) { const o = !n || i && i.currentIndex < G1(n, r, s) ? i : n, a = G1(o, r, s), l = o.currentIndex; if (o === n) r--, n = n._nextRemoved; else if (i = i._next, null == o.previousIndex) r++; else { s || (s = []); const c = a - r, u = l - r; if (c != u) { for (let g = 0; g < c; g++) { const _ = g < s.length ? s[g] : s[g] = 0, y = _ + g; u <= y && y < c && (s[g] = _ + 1) } s[o.previousIndex] = u - c } } a !== l && t(o, a, l) } } forEachPreviousItem(t) { let i; for (i = this._previousItHead; null !== i; i = i._nextPrevious)t(i) } forEachAddedItem(t) { let i; for (i = this._additionsHead; null !== i; i = i._nextAdded)t(i) } forEachMovedItem(t) { let i; for (i = this._movesHead; null !== i; i = i._nextMoved)t(i) } forEachRemovedItem(t) { let i; for (i = this._removalsHead; null !== i; i = i._nextRemoved)t(i) } forEachIdentityChange(t) { let i; for (i = this._identityChangesHead; null !== i; i = i._nextIdentityChange)t(i) } diff(t) { if (null == t && (t = []), !ac(t)) throw new F(900, !1); return this.check(t) ? this : null } onDestroy() { } check(t) { this._reset(); let r, s, o, i = this._itHead, n = !1; if (Array.isArray(t)) { this.length = t.length; for (let a = 0; a < this.length; a++)s = t[a], o = this._trackByFn(a, s), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, s, o, a)), Object.is(i.item, s) || this._addIdentityChange(i, s)) : (i = this._mismatch(i, s, o, a), n = !0), i = i._next } else r = 0, function qN(e, t) { if (Array.isArray(e)) for (let i = 0; i < e.length; i++)t(e[i]); else { const i = e[Symbol.iterator](); let n; for (; !(n = i.next()).done;)t(n.value) } }(t, a => { o = this._trackByFn(r, a), null !== i && Object.is(i.trackById, o) ? (n && (i = this._verifyReinsertion(i, a, o, r)), Object.is(i.item, a) || this._addIdentityChange(i, a)) : (i = this._mismatch(i, a, o, r), n = !0), i = i._next, r++ }), this.length = r; return this._truncate(i), this.collection = t, this.isDirty } get isDirty() { return null !== this._additionsHead || null !== this._movesHead || null !== this._removalsHead || null !== this._identityChangesHead } _reset() { if (this.isDirty) { let t; for (t = this._previousItHead = this._itHead; null !== t; t = t._next)t._nextPrevious = t._next; for (t = this._additionsHead; null !== t; t = t._nextAdded)t.previousIndex = t.currentIndex; for (this._additionsHead = this._additionsTail = null, t = this._movesHead; null !== t; t = t._nextMoved)t.previousIndex = t.currentIndex; this._movesHead = this._movesTail = null, this._removalsHead = this._removalsTail = null, this._identityChangesHead = this._identityChangesTail = null } } _mismatch(t, i, n, r) { let s; return null === t ? s = this._itTail : (s = t._prev, this._remove(t)), null !== (t = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._reinsertAfter(t, s, r)) : null !== (t = null === this._linkedRecords ? null : this._linkedRecords.get(n, r)) ? (Object.is(t.item, i) || this._addIdentityChange(t, i), this._moveAfter(t, s, r)) : t = this._addAfter(new hP(i, n), s, r), t } _verifyReinsertion(t, i, n, r) { let s = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(n, null); return null !== s ? t = this._reinsertAfter(s, t._prev, r) : t.currentIndex != r && (t.currentIndex = r, this._addToMoves(t, r)), t } _truncate(t) { for (; null !== t;) { const i = t._next; this._addToRemovals(this._unlink(t)), t = i } 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(t, i, n) { null !== this._unlinkedRecords && this._unlinkedRecords.remove(t); const r = t._prevRemoved, s = t._nextRemoved; return null === r ? this._removalsHead = s : r._nextRemoved = s, null === s ? this._removalsTail = r : s._prevRemoved = r, this._insertAfter(t, i, n), this._addToMoves(t, n), t } _moveAfter(t, i, n) { return this._unlink(t), this._insertAfter(t, i, n), this._addToMoves(t, n), t } _addAfter(t, i, n) { return this._insertAfter(t, i, n), this._additionsTail = null === this._additionsTail ? this._additionsHead = t : this._additionsTail._nextAdded = t, t } _insertAfter(t, i, n) { const r = null === i ? this._itHead : i._next; return t._next = r, t._prev = i, null === r ? this._itTail = t : r._prev = t, null === i ? this._itHead = t : i._next = t, null === this._linkedRecords && (this._linkedRecords = new $1), this._linkedRecords.put(t), t.currentIndex = n, t } _remove(t) { return this._addToRemovals(this._unlink(t)) } _unlink(t) { null !== this._linkedRecords && this._linkedRecords.remove(t); const i = t._prev, n = t._next; return null === i ? this._itHead = n : i._next = n, null === n ? this._itTail = i : n._prev = i, t } _addToMoves(t, i) { return t.previousIndex === i || (this._movesTail = null === this._movesTail ? this._movesHead = t : this._movesTail._nextMoved = t), t } _addToRemovals(t) { return null === this._unlinkedRecords && (this._unlinkedRecords = new $1), this._unlinkedRecords.put(t), t.currentIndex = null, t._nextRemoved = null, null === this._removalsTail ? (this._removalsTail = this._removalsHead = t, t._prevRemoved = null) : (t._prevRemoved = this._removalsTail, this._removalsTail = this._removalsTail._nextRemoved = t), t } _addIdentityChange(t, i) { return t.item = i, this._identityChangesTail = null === this._identityChangesTail ? this._identityChangesHead = t : this._identityChangesTail._nextIdentityChange = t, t } } class hP { constructor(t, i) { this.item = t, this.trackById = i, 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 pP { constructor() { this._head = null, this._tail = null } add(t) { null === this._head ? (this._head = this._tail = t, t._nextDup = null, t._prevDup = null) : (this._tail._nextDup = t, t._prevDup = this._tail, t._nextDup = null, this._tail = t) } get(t, i) { let n; for (n = this._head; null !== n; n = n._nextDup)if ((null === i || i <= n.currentIndex) && Object.is(n.trackById, t)) return n; return null } remove(t) { const i = t._prevDup, n = t._nextDup; return null === i ? this._head = n : i._nextDup = n, null === n ? this._tail = i : n._prevDup = i, null === this._head } } class $1 { constructor() { this.map = new Map } put(t) { const i = t.trackById; let n = this.map.get(i); n || (n = new pP, this.map.set(i, n)), n.add(t) } get(t, i) { const r = this.map.get(t); return r ? r.get(t, i) : null } remove(t) { const i = t.trackById; return this.map.get(i).remove(t) && this.map.delete(i), t } get isEmpty() { return 0 === this.map.size } clear() { this.map.clear() } } function G1(e, t, i) { const n = e.previousIndex; if (null === n) return n; let r = 0; return i && n < i.length && (r = i[n]), n + t + r } function W1() { return new Ic([new j1]) } let Ic = (() => { var e; class t { constructor(n) { this.factories = n } static create(n, r) { if (null != r) { const s = r.factories.slice(); n = n.concat(s) } return new t(n) } static extend(n) { return { provide: t, useFactory: r => t.create(n, r || W1()), deps: [[t, new Md, new Td]] } } find(n) { const r = this.factories.find(s => s.supports(n)); if (null != r) return r; throw new F(901, !1) } } return (e = t).\u0275prov = G({ token: e, providedIn: "root", factory: W1 }), t })(); const yP = A1(null, "core", []); let bP = (() => { var e; class t { constructor(n) { } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Ph(e, t) { const i = me(e), n = t.elementInjector || Gl(); return new ea(i).create(n, t.projectableNodes, t.hostElement, t.environmentInjector) } let Fh = null; function ba() { return Fh } class RP { } const Kt = new W("DocumentToken"); function fb(e, t) { t = encodeURIComponent(t); for (const i of e.split(";")) { const n = i.indexOf("="), [r, s] = -1 == n ? [i, ""] : [i.slice(0, n), i.slice(n + 1)]; if (r.trim() === t) return decodeURIComponent(s) } return null } class vF { constructor(t, i, n, r) { this.$implicit = t, this.ngForOf = i, this.index = n, this.count = r } 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 kn = (() => { var e; class t { set ngForOf(n) { this._ngForOf = n, this._ngForOfDirty = !0 } set ngForTrackBy(n) { this._trackByFn = n } get ngForTrackBy() { return this._trackByFn } constructor(n, r, s) { this._viewContainer = n, this._template = r, this._differs = s, this._ngForOf = null, this._ngForOfDirty = !0, this._differ = null } set ngForTemplate(n) { n && (this._template = n) } ngDoCheck() { if (this._ngForOfDirty) { this._ngForOfDirty = !1; const n = this._ngForOf; !this._differ && n && (this._differ = this._differs.find(n).create(this.ngForTrackBy)) } if (this._differ) { const n = this._differ.diff(this._ngForOf); n && this._applyChanges(n) } } _applyChanges(n) { const r = this._viewContainer; n.forEachOperation((s, o, a) => { if (null == s.previousIndex) r.createEmbeddedView(this._template, new vF(s.item, this._ngForOf, -1, -1), null === a ? void 0 : a); else if (null == a) r.remove(null === o ? void 0 : o); else if (null !== o) { const l = r.get(o); r.move(l, a), gb(l, s) } }); for (let s = 0, o = r.length; s < o; s++) { const l = r.get(s).context; l.index = s, l.count = o, l.ngForOf = this._ngForOf } n.forEachIdentityChange(s => { gb(r.get(s.currentIndex), s) }) } static ngTemplateContextGuard(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt), v(Ic)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngFor", "", "ngForOf", ""]], inputs: { ngForOf: "ngForOf", ngForTrackBy: "ngForTrackBy", ngForTemplate: "ngForTemplate" }, standalone: !0 }), t })(); function gb(e, t) { e.context.$implicit = t.item } let Ln = (() => { var e; class t { constructor(n, r) { this._viewContainer = n, this._context = new yF, this._thenTemplateRef = null, this._elseTemplateRef = null, this._thenViewRef = null, this._elseViewRef = null, this._thenTemplateRef = r } set ngIf(n) { this._context.$implicit = this._context.ngIf = n, this._updateView() } set ngIfThen(n) { _b("ngIfThen", n), this._thenTemplateRef = n, this._thenViewRef = null, this._updateView() } set ngIfElse(n) { _b("ngIfElse", n), this._elseTemplateRef = n, 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(n, r) { return !0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Cn), v(nt)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngIf", ""]], inputs: { ngIf: "ngIf", ngIfThen: "ngIfThen", ngIfElse: "ngIfElse" }, standalone: !0 }), t })(); class yF { constructor() { this.$implicit = null, this.ngIf = null } } function _b(e, t) { if (t && !t.createEmbeddedView) throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`) } let yb = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); function Db(e) { return "server" === e } class wb { } class vk extends RP { constructor() { super(...arguments), this.supportsDOMEvents = !0 } } class Xh extends vk { static makeCurrent() { !function xP(e) { Fh || (Fh = e) }(new Xh) } onAndCancel(t, i, n) { return t.addEventListener(i, n), () => { t.removeEventListener(i, n) } } dispatchEvent(t, i) { t.dispatchEvent(i) } remove(t) { t.parentNode && t.parentNode.removeChild(t) } createElement(t, i) { return (i = i || this.getDefaultDocument()).createElement(t) } createHtmlDocument() { return document.implementation.createHTMLDocument("fakeTitle") } getDefaultDocument() { return document } isElementNode(t) { return t.nodeType === Node.ELEMENT_NODE } isShadowRoot(t) { return t instanceof DocumentFragment } getGlobalEventTarget(t, i) { return "window" === i ? window : "document" === i ? t : "body" === i ? t.body : null } getBaseHref(t) { const i = function yk() { return Ea = Ea || document.querySelector("base"), Ea ? Ea.getAttribute("href") : null }(); return null == i ? null : function bk(e) { jc = jc || document.createElement("a"), jc.setAttribute("href", e); const t = jc.pathname; return "/" === t.charAt(0) ? t : `/${t}` }(i) } resetBaseElement() { Ea = null } getUserAgent() { return window.navigator.userAgent } getCookie(t) { return fb(document.cookie, t) } } let jc, Ea = null, wk = (() => { var e; class t { build() { return new XMLHttpRequest } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const ep = new W("EventManagerPlugins"); let Mb = (() => { var e; class t { constructor(n, r) { this._zone = r, this._eventNameToPlugin = new Map, n.forEach(s => { s.manager = this }), this._plugins = n.slice().reverse() } addEventListener(n, r, s) { return this._findPluginFor(r).addEventListener(n, r, s) } getZone() { return this._zone } _findPluginFor(n) { let r = this._eventNameToPlugin.get(n); if (r) return r; if (r = this._plugins.find(o => o.supports(n)), !r) throw new F(5101, !1); return this._eventNameToPlugin.set(n, r), r } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(ep), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class Ib { constructor(t) { this._doc = t } } const tp = "ng-app-id"; let Nb = (() => { var e; class t { constructor(n, r, s, o = {}) { this.doc = n, this.appId = r, this.nonce = s, this.platformId = o, this.styleRef = new Map, this.hostNodes = new Set, this.styleNodesInDOM = this.collectServerRenderedStyles(), this.platformIsServer = Db(o), this.resetHostNodes() } addStyles(n) { for (const r of n) 1 === this.changeUsageCount(r, 1) && this.onStyleAdded(r) } removeStyles(n) { for (const r of n) this.changeUsageCount(r, -1) <= 0 && this.onStyleRemoved(r) } ngOnDestroy() { const n = this.styleNodesInDOM; n && (n.forEach(r => r.remove()), n.clear()); for (const r of this.getAllStyles()) this.onStyleRemoved(r); this.resetHostNodes() } addHost(n) { this.hostNodes.add(n); for (const r of this.getAllStyles()) this.addStyleToHost(n, r) } removeHost(n) { this.hostNodes.delete(n) } getAllStyles() { return this.styleRef.keys() } onStyleAdded(n) { for (const r of this.hostNodes) this.addStyleToHost(r, n) } onStyleRemoved(n) { const r = this.styleRef; r.get(n)?.elements?.forEach(s => s.remove()), r.delete(n) } collectServerRenderedStyles() { const n = this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`); if (n?.length) { const r = new Map; return n.forEach(s => { null != s.textContent && r.set(s.textContent, s) }), r } return null } changeUsageCount(n, r) { const s = this.styleRef; if (s.has(n)) { const o = s.get(n); return o.usage += r, o.usage } return s.set(n, { usage: r, elements: [] }), r } getStyleElement(n, r) { const s = this.styleNodesInDOM, o = s?.get(r); if (o?.parentNode === n) return s.delete(r), o.removeAttribute(tp), o; { const a = this.doc.createElement("style"); return this.nonce && a.setAttribute("nonce", this.nonce), a.textContent = r, this.platformIsServer && a.setAttribute(tp, this.appId), a } } addStyleToHost(n, r) { const s = this.getStyleElement(n, r); n.appendChild(s); const o = this.styleRef, a = o.get(r)?.elements; a ? a.push(s) : o.set(r, { elements: [s], usage: 1 }) } resetHostNodes() { const n = this.hostNodes; n.clear(), n.add(this.doc.head) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Wl), L(qm, 8), L(Nr)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const np = { 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/" }, ip = /%COMP%/g, Tk = new W("RemoveStylesOnCompDestroy", { providedIn: "root", factory: () => !1 }); function Ob(e, t) { return t.map(i => i.replace(ip, e)) } let xb = (() => { var e; class t { constructor(n, r, s, o, a, l, c, u = null) { this.eventManager = n, this.sharedStylesHost = r, this.appId = s, this.removeStylesOnCompDestroy = o, this.doc = a, this.platformId = l, this.ngZone = c, this.nonce = u, this.rendererByCompId = new Map, this.platformIsServer = Db(l), this.defaultRenderer = new rp(n, a, c, this.platformIsServer) } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; this.platformIsServer && r.encapsulation === ei.ShadowDom && (r = { ...r, encapsulation: ei.Emulated }); const s = this.getOrCreateRenderer(n, r); return s instanceof Pb ? s.applyToHost(n) : s instanceof sp && s.applyStyles(), s } getOrCreateRenderer(n, r) { const s = this.rendererByCompId; let o = s.get(r.id); if (!o) { const a = this.doc, l = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, h = this.removeStylesOnCompDestroy, g = this.platformIsServer; switch (r.encapsulation) { case ei.Emulated: o = new Pb(c, u, r, this.appId, h, a, l, g); break; case ei.ShadowDom: return new Ak(c, u, n, r, a, l, this.nonce, g); default: o = new sp(c, u, r, h, a, l, g) }s.set(r.id, o) } return o } ngOnDestroy() { this.rendererByCompId.clear() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Mb), L(Nb), L(Wl), L(Tk), L(Kt), L(Nr), L(Se), L(qm)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); class rp { constructor(t, i, n, r) { this.eventManager = t, this.doc = i, this.ngZone = n, this.platformIsServer = r, this.data = Object.create(null), this.destroyNode = null } destroy() { } createElement(t, i) { return i ? this.doc.createElementNS(np[i] || i, t) : this.doc.createElement(t) } createComment(t) { return this.doc.createComment(t) } createText(t) { return this.doc.createTextNode(t) } appendChild(t, i) { (Rb(t) ? t.content : t).appendChild(i) } insertBefore(t, i, n) { t && (Rb(t) ? t.content : t).insertBefore(i, n) } removeChild(t, i) { t && t.removeChild(i) } selectRootElement(t, i) { let n = "string" == typeof t ? this.doc.querySelector(t) : t; if (!n) throw new F(-5104, !1); return i || (n.textContent = ""), n } parentNode(t) { return t.parentNode } nextSibling(t) { return t.nextSibling } setAttribute(t, i, n, r) { if (r) { i = r + ":" + i; const s = np[r]; s ? t.setAttributeNS(s, i, n) : t.setAttribute(i, n) } else t.setAttribute(i, n) } removeAttribute(t, i, n) { if (n) { const r = np[n]; r ? t.removeAttributeNS(r, i) : t.removeAttribute(`${n}:${i}`) } else t.removeAttribute(i) } addClass(t, i) { t.classList.add(i) } removeClass(t, i) { t.classList.remove(i) } setStyle(t, i, n, r) { r & (sr.DashCase | sr.Important) ? t.style.setProperty(i, n, r & sr.Important ? "important" : "") : t.style[i] = n } removeStyle(t, i, n) { n & sr.DashCase ? t.style.removeProperty(i) : t.style[i] = "" } setProperty(t, i, n) { t[i] = n } setValue(t, i) { t.nodeValue = i } listen(t, i, n) { if ("string" == typeof t && !(t = ba().getGlobalEventTarget(this.doc, t))) throw new Error(`Unsupported event target ${t} for event ${i}`); return this.eventManager.addEventListener(t, i, this.decoratePreventDefault(n)) } decoratePreventDefault(t) { return i => { if ("__ngUnwrap__" === i) return t; !1 === (this.platformIsServer ? this.ngZone.runGuarded(() => t(i)) : t(i)) && i.preventDefault() } } } function Rb(e) { return "TEMPLATE" === e.tagName && void 0 !== e.content } class Ak extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, l), this.sharedStylesHost = i, this.hostEl = n, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost.addHost(this.shadowRoot); const c = Ob(r.id, r.styles); for (const u of c) { const h = document.createElement("style"); a && h.setAttribute("nonce", a), h.textContent = u, this.shadowRoot.appendChild(h) } } nodeOrShadowRoot(t) { return t === this.hostEl ? this.shadowRoot : t } appendChild(t, i) { return super.appendChild(this.nodeOrShadowRoot(t), i) } insertBefore(t, i, n) { return super.insertBefore(this.nodeOrShadowRoot(t), i, n) } removeChild(t, i) { return super.removeChild(this.nodeOrShadowRoot(t), i) } parentNode(t) { return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t))) } destroy() { this.sharedStylesHost.removeHost(this.shadowRoot) } } class sp extends rp { constructor(t, i, n, r, s, o, a, l) { super(t, s, o, a), this.sharedStylesHost = i, this.removeStylesOnCompDestroy = r, this.styles = l ? Ob(l, n.styles) : n.styles } applyStyles() { this.sharedStylesHost.addStyles(this.styles) } destroy() { this.removeStylesOnCompDestroy && this.sharedStylesHost.removeStyles(this.styles) } } class Pb extends sp { constructor(t, i, n, r, s, o, a, l) { const c = r + "-" + n.id; super(t, i, n, s, o, a, l, c), this.contentAttr = function Mk(e) { return "_ngcontent-%COMP%".replace(ip, e) }(c), this.hostAttr = function Ik(e) { return "_nghost-%COMP%".replace(ip, e) }(c) } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, "") } createElement(t, i) { const n = super.createElement(t, i); return super.setAttribute(n, this.contentAttr, ""), n } } let Ok = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return !0 } addEventListener(n, r, s) { return n.addEventListener(r, s, !1), () => this.removeEventListener(n, r, s) } removeEventListener(n, r, s) { return n.removeEventListener(r, s) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Fb = ["alt", "control", "meta", "shift"], xk = { "\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" }, Rk = { alt: e => e.altKey, control: e => e.ctrlKey, meta: e => e.metaKey, shift: e => e.shiftKey }; let Pk = (() => { var e; class t extends Ib { constructor(n) { super(n) } supports(n) { return null != t.parseEventName(n) } addEventListener(n, r, s) { const o = t.parseEventName(r), a = t.eventCallback(o.fullKey, s, this.manager.getZone()); return this.manager.getZone().runOutsideAngular(() => ba().onAndCancel(n, o.domEventName, a)) } static parseEventName(n) { const r = n.toLowerCase().split("."), s = r.shift(); if (0 === r.length || "keydown" !== s && "keyup" !== s) return null; const o = t._normalizeKey(r.pop()); let a = "", l = r.indexOf("code"); if (l > -1 && (r.splice(l, 1), a = "code."), Fb.forEach(u => { const h = r.indexOf(u); h > -1 && (r.splice(h, 1), a += u + ".") }), a += o, 0 != r.length || 0 === o.length) return null; const c = {}; return c.domEventName = s, c.fullKey = a, c } static matchEventFullKeyCode(n, r) { let s = xk[n.key] || n.key, o = ""; return r.indexOf("code.") > -1 && (s = n.code, o = "code."), !(null == s || !s) && (s = s.toLowerCase(), " " === s ? s = "space" : "." === s && (s = "dot"), Fb.forEach(a => { a !== s && (0, Rk[a])(n) && (o += a + ".") }), o += s, o === r) } static eventCallback(n, r, s) { return o => { t.matchEventFullKeyCode(o, n) && s.runGuarded(() => r(o)) } } static _normalizeKey(n) { return "esc" === n ? "escape" : n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const Bk = A1(yP, "browser", [{ provide: Nr, useValue: "browser" }, { provide: Wm, useValue: function Fk() { Xh.makeCurrent() }, multi: !0 }, { provide: Kt, useFactory: function Lk() { return function OM(e) { Gd = e }(document), document }, deps: [] }]), Vk = new W(""), Bb = [{ provide: Ec, useClass: class Dk { addToWindow(t) { je.getAngularTestability = (n, r = !0) => { const s = t.findTestabilityInTree(n, r); if (null == s) throw new F(5103, !1); return s }, je.getAllAngularTestabilities = () => t.getAllTestabilities(), je.getAllAngularRootElements = () => t.getAllRootElements(), je.frameworkStabilizers || (je.frameworkStabilizers = []), je.frameworkStabilizers.push(n => { const r = je.getAllAngularTestabilities(); let s = r.length, o = !1; const a = function (l) { o = o || l, s--, 0 == s && n(o) }; r.forEach(l => { l.whenStable(a) }) }) } findTestabilityInTree(t, i, n) { return null == i ? null : t.getTestability(i) ?? (n ? ba().isShadowRoot(i) ? this.findTestabilityInTree(t, i.host, !0) : this.findTestabilityInTree(t, i.parentElement, !0) : null) } }, deps: [] }, { provide: S1, useClass: Ch, deps: [Se, Eh, Ec] }, { provide: Ch, useClass: Ch, deps: [Se, Eh, Ec] }], Vb = [{ provide: tf, useValue: "root" }, { provide: Ar, useFactory: function kk() { return new Ar }, deps: [] }, { provide: ep, useClass: Ok, multi: !0, deps: [Kt, Se, Nr] }, { provide: ep, useClass: Pk, multi: !0, deps: [Kt] }, xb, Nb, Mb, { provide: mf, useExisting: xb }, { provide: wb, useClass: wk, deps: [] }, []]; let Hk = (() => { var e; class t { constructor(n) { } static withServerTransition(n) { return { ngModule: t, providers: [{ provide: Wl, useValue: n.appId }] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Vk, 12)) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [...Vb, ...Bb], imports: [yb, bP] }), t })(); typeof window < "u" && window; let Xt = (() => { var e; class t { constructor() { this.elementLookup = [] } findElementIndex(n) { let r = -1; for (let s = 0; s < this.elementLookup.length; s++)this.elementLookup[s].id == n && (r = s); return r } addElementObject(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullTagHTML(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].object = r } addElementTagHTML(n, r, s) { let o = this.findElementIndex(n); if (o < 0) { let a = this.initializeElementLookupDtoNullObject(n, s, r); this.elementLookup.push(a) } else this.elementLookup[o].tagHtml = r } addElementAll(n, r, s, o) { let a = this.elementLookup.find(l => { }); if (null == a) { let l = this.initializeElementLookupDtoAll(n, r, o, s); this.elementLookup.push(l) } else null == a.tagHtml && (a.tagHtml = s), null == a.object && (a.object = null) } getElement(n) { return this.elementLookup.find(s => s.id == n) ?? null } initializeElementLookupDtoAll(n, r, s, o) { return new ap(n, r, s, o) } initializeElementLookupDtoNullObject(n, r, s) { return new ap(n, null, r, s) } initializeElementLookupDtoNullTagHTML(n, r, s) { return new ap(n, s, r, null) } clearElementLookupDict() { this.elementLookup.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class ap { constructor(t, i, n, r) { this.id = t, this.object = i, this.element = n, this.tagHtml = r } } let $t = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function $b(e) { return mt((t, i) => { let s, n = null, r = !1; n = t.subscribe(ft(i, void 0, void 0, o => { s = Ft(e(o, $b(e)(t))), n ? (n.unsubscribe(), n = null, s.subscribe(i)) : r = !0 })), r && (n.unsubscribe(), n = null, s.subscribe(i)) }) } function ci(e, t) { return mt((i, n) => { let r = 0; i.subscribe(ft(n, s => e.call(t, s, r++) && n.next(s))) }) } function Gb(e) { return mt((t, i) => { try { t.subscribe(i) } finally { i.add(e) } }) } class $c { } class Gc { } class Pi { constructor(t) { this.normalizedNames = new Map, this.lazyUpdate = null, t ? "string" == typeof t ? this.lazyInit = () => { this.headers = new Map, t.split("\n").forEach(i => { const n = i.indexOf(":"); if (n > 0) { const r = i.slice(0, n), s = r.toLowerCase(), o = i.slice(n + 1).trim(); this.maybeSetNormalizedName(r, s), this.headers.has(s) ? this.headers.get(s).push(o) : this.headers.set(s, [o]) } }) } : typeof Headers < "u" && t instanceof Headers ? (this.headers = new Map, t.forEach((i, n) => { this.setHeaderEntries(n, i) })) : this.lazyInit = () => { this.headers = new Map, Object.entries(t).forEach(([i, n]) => { this.setHeaderEntries(i, n) }) } : this.headers = new Map } has(t) { return this.init(), this.headers.has(t.toLowerCase()) } get(t) { this.init(); const i = this.headers.get(t.toLowerCase()); return i && i.length > 0 ? i[0] : null } keys() { return this.init(), Array.from(this.normalizedNames.values()) } getAll(t) { return this.init(), this.headers.get(t.toLowerCase()) || null } append(t, i) { return this.clone({ name: t, value: i, op: "a" }) } set(t, i) { return this.clone({ name: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ name: t, value: i, op: "d" }) } maybeSetNormalizedName(t, i) { this.normalizedNames.has(i) || this.normalizedNames.set(i, t) } init() { this.lazyInit && (this.lazyInit instanceof Pi ? this.copyFrom(this.lazyInit) : this.lazyInit(), this.lazyInit = null, this.lazyUpdate && (this.lazyUpdate.forEach(t => this.applyUpdate(t)), this.lazyUpdate = null)) } copyFrom(t) { t.init(), Array.from(t.headers.keys()).forEach(i => { this.headers.set(i, t.headers.get(i)), this.normalizedNames.set(i, t.normalizedNames.get(i)) }) } clone(t) { const i = new Pi; return i.lazyInit = this.lazyInit && this.lazyInit instanceof Pi ? this.lazyInit : this, i.lazyUpdate = (this.lazyUpdate || []).concat([t]), i } applyUpdate(t) { const i = t.name.toLowerCase(); switch (t.op) { case "a": case "s": let n = t.value; if ("string" == typeof n && (n = [n]), 0 === n.length) return; this.maybeSetNormalizedName(t.name, i); const r = ("a" === t.op ? this.headers.get(i) : void 0) || []; r.push(...n), this.headers.set(i, r); break; case "d": const s = t.value; if (s) { let o = this.headers.get(i); if (!o) return; o = o.filter(a => -1 === s.indexOf(a)), 0 === o.length ? (this.headers.delete(i), this.normalizedNames.delete(i)) : this.headers.set(i, o) } else this.headers.delete(i), this.normalizedNames.delete(i) } } setHeaderEntries(t, i) { const n = (Array.isArray(i) ? i : [i]).map(s => s.toString()), r = t.toLowerCase(); this.headers.set(r, n), this.maybeSetNormalizedName(t, r) } forEach(t) { this.init(), Array.from(this.normalizedNames.keys()).forEach(i => t(this.normalizedNames.get(i), this.headers.get(i))) } } class Zk { encodeKey(t) { return zb(t) } encodeValue(t) { return zb(t) } decodeKey(t) { return decodeURIComponent(t) } decodeValue(t) { return decodeURIComponent(t) } } const Qk = /%(\d[a-f0-9])/gi, Kk = { 40: "@", "3A": ":", 24: "$", "2C": ",", "3B": ";", "3D": "=", "3F": "?", "2F": "/" }; function zb(e) { return encodeURIComponent(e).replace(Qk, (t, i) => Kk[i] ?? t) } function zc(e) { return `${e}` } class ur { constructor(t = {}) { if (this.updates = null, this.cloneFrom = null, this.encoder = t.encoder || new Zk, t.fromString) { if (t.fromObject) throw new Error("Cannot specify both fromString and fromObject."); this.map = function Jk(e, t) { const i = new Map; return e.length > 0 && e.replace(/^\?/, "").split("&").forEach(r => { const s = r.indexOf("="), [o, a] = -1 == s ? [t.decodeKey(r), ""] : [t.decodeKey(r.slice(0, s)), t.decodeValue(r.slice(s + 1))], l = i.get(o) || []; l.push(a), i.set(o, l) }), i }(t.fromString, this.encoder) } else t.fromObject ? (this.map = new Map, Object.keys(t.fromObject).forEach(i => { const n = t.fromObject[i], r = Array.isArray(n) ? n.map(zc) : [zc(n)]; this.map.set(i, r) })) : this.map = null } has(t) { return this.init(), this.map.has(t) } get(t) { this.init(); const i = this.map.get(t); return i ? i[0] : null } getAll(t) { return this.init(), this.map.get(t) || null } keys() { return this.init(), Array.from(this.map.keys()) } append(t, i) { return this.clone({ param: t, value: i, op: "a" }) } appendAll(t) { const i = []; return Object.keys(t).forEach(n => { const r = t[n]; Array.isArray(r) ? r.forEach(s => { i.push({ param: n, value: s, op: "a" }) }) : i.push({ param: n, value: r, op: "a" }) }), this.clone(i) } set(t, i) { return this.clone({ param: t, value: i, op: "s" }) } delete(t, i) { return this.clone({ param: t, value: i, op: "d" }) } toString() { return this.init(), this.keys().map(t => { const i = this.encoder.encodeKey(t); return this.map.get(t).map(n => i + "=" + this.encoder.encodeValue(n)).join("&") }).filter(t => "" !== t).join("&") } clone(t) { const i = new ur({ encoder: this.encoder }); return i.cloneFrom = this.cloneFrom || this, i.updates = (this.updates || []).concat(t), i } init() { null === this.map && (this.map = new Map), null !== this.cloneFrom && (this.cloneFrom.init(), this.cloneFrom.keys().forEach(t => this.map.set(t, this.cloneFrom.map.get(t))), this.updates.forEach(t => { switch (t.op) { case "a": case "s": const i = ("a" === t.op ? this.map.get(t.param) : void 0) || []; i.push(zc(t.value)), this.map.set(t.param, i); break; case "d": if (void 0 === t.value) { this.map.delete(t.param); break } { let n = this.map.get(t.param) || []; const r = n.indexOf(zc(t.value)); -1 !== r && n.splice(r, 1), n.length > 0 ? this.map.set(t.param, n) : this.map.delete(t.param) } } }), this.cloneFrom = this.updates = null) } } class Xk { constructor() { this.map = new Map } set(t, i) { return this.map.set(t, i), this } get(t) { return this.map.has(t) || this.map.set(t, t.defaultValue()), this.map.get(t) } delete(t) { return this.map.delete(t), this } has(t) { return this.map.has(t) } keys() { return this.map.keys() } } function Wb(e) { return typeof ArrayBuffer < "u" && e instanceof ArrayBuffer } function qb(e) { return typeof Blob < "u" && e instanceof Blob } function Yb(e) { return typeof FormData < "u" && e instanceof FormData } class Sa { constructor(t, i, n, r) { let s; if (this.url = i, this.body = null, this.reportProgress = !1, this.withCredentials = !1, this.responseType = "json", this.method = t.toUpperCase(), function e2(e) { switch (e) { case "DELETE": case "GET": case "HEAD": case "OPTIONS": case "JSONP": return !1; default: return !0 } }(this.method) || r ? (this.body = void 0 !== n ? n : null, s = r) : s = n, s && (this.reportProgress = !!s.reportProgress, this.withCredentials = !!s.withCredentials, s.responseType && (this.responseType = s.responseType), s.headers && (this.headers = s.headers), s.context && (this.context = s.context), s.params && (this.params = s.params)), this.headers || (this.headers = new Pi), this.context || (this.context = new Xk), this.params) { const o = this.params.toString(); if (0 === o.length) this.urlWithParams = i; else { const a = i.indexOf("?"); this.urlWithParams = i + (-1 === a ? "?" : a < i.length - 1 ? "&" : "") + o } } else this.params = new ur, this.urlWithParams = i } serializeBody() { return null === this.body ? null : Wb(this.body) || qb(this.body) || Yb(this.body) || function t2(e) { return typeof URLSearchParams < "u" && e instanceof URLSearchParams }(this.body) || "string" == typeof this.body ? this.body : this.body instanceof ur ? this.body.toString() : "object" == typeof this.body || "boolean" == typeof this.body || Array.isArray(this.body) ? JSON.stringify(this.body) : this.body.toString() } detectContentTypeHeader() { return null === this.body || Yb(this.body) ? null : qb(this.body) ? this.body.type || null : Wb(this.body) ? null : "string" == typeof this.body ? "text/plain" : this.body instanceof ur ? "application/x-www-form-urlencoded;charset=UTF-8" : "object" == typeof this.body || "number" == typeof this.body || "boolean" == typeof this.body ? "application/json" : null } clone(t = {}) { const i = t.method || this.method, n = t.url || this.url, r = t.responseType || this.responseType, s = void 0 !== t.body ? t.body : this.body, o = void 0 !== t.withCredentials ? t.withCredentials : this.withCredentials, a = void 0 !== t.reportProgress ? t.reportProgress : this.reportProgress; let l = t.headers || this.headers, c = t.params || this.params; const u = t.context ?? this.context; return void 0 !== t.setHeaders && (l = Object.keys(t.setHeaders).reduce((h, g) => h.set(g, t.setHeaders[g]), l)), t.setParams && (c = Object.keys(t.setParams).reduce((h, g) => h.set(g, t.setParams[g]), c)), new Sa(i, n, s, { params: c, headers: l, context: u, reportProgress: a, responseType: r, withCredentials: o }) } } var so = function (e) { return e[e.Sent = 0] = "Sent", e[e.UploadProgress = 1] = "UploadProgress", e[e.ResponseHeader = 2] = "ResponseHeader", e[e.DownloadProgress = 3] = "DownloadProgress", e[e.Response = 4] = "Response", e[e.User = 5] = "User", e }(so || {}); class lp { constructor(t, i = 200, n = "OK") { this.headers = t.headers || new Pi, this.status = void 0 !== t.status ? t.status : i, this.statusText = t.statusText || n, this.url = t.url || null, this.ok = this.status >= 200 && this.status < 300 } } class cp extends lp { constructor(t = {}) { super(t), this.type = so.ResponseHeader } clone(t = {}) { return new cp({ headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class oo extends lp { constructor(t = {}) { super(t), this.type = so.Response, this.body = void 0 !== t.body ? t.body : null } clone(t = {}) { return new oo({ body: void 0 !== t.body ? t.body : this.body, headers: t.headers || this.headers, status: void 0 !== t.status ? t.status : this.status, statusText: t.statusText || this.statusText, url: t.url || this.url || void 0 }) } } class Zb extends lp { constructor(t) { super(t, 0, "Unknown Error"), this.name = "HttpErrorResponse", this.ok = !1, this.message = this.status >= 200 && this.status < 300 ? `Http failure during parsing for ${t.url || "(unknown url)"}` : `Http failure response for ${t.url || "(unknown url)"}: ${t.status} ${t.statusText}`, this.error = t.error || null } } function up(e, t) { return { body: t, headers: e.headers, context: e.context, observe: e.observe, params: e.params, reportProgress: e.reportProgress, responseType: e.responseType, withCredentials: e.withCredentials } } let Wc = (() => { var e; class t { constructor(n) { this.handler = n } request(n, r, s = {}) { let o; if (n instanceof Sa) o = n; else { let c, u; c = s.headers instanceof Pi ? s.headers : new Pi(s.headers), s.params && (u = s.params instanceof ur ? s.params : new ur({ fromObject: s.params })), o = new Sa(n, r, void 0 !== s.body ? s.body : null, { headers: c, context: s.context, params: u, reportProgress: s.reportProgress, responseType: s.responseType || "json", withCredentials: s.withCredentials }) } const a = ds(o).pipe(function Yk(e, t) { return $(t) ? us(e, t, 1) : us(e, 1) }(c => this.handler.handle(c))); if (n instanceof Sa || "events" === s.observe) return a; const l = a.pipe(ci(c => c instanceof oo)); switch (s.observe || "body") { case "body": switch (o.responseType) { case "arraybuffer": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof ArrayBuffer)) throw new Error("Response is not an ArrayBuffer."); return c.body })); case "blob": return l.pipe(Pt(c => { if (null !== c.body && !(c.body instanceof Blob)) throw new Error("Response is not a Blob."); return c.body })); case "text": return l.pipe(Pt(c => { if (null !== c.body && "string" != typeof c.body) throw new Error("Response is not a string."); return c.body })); default: return l.pipe(Pt(c => c.body)) }case "response": return l; default: throw new Error(`Unreachable: unhandled observe type ${s.observe}}`) } } delete(n, r = {}) { return this.request("DELETE", n, r) } get(n, r = {}) { return this.request("GET", n, r) } head(n, r = {}) { return this.request("HEAD", n, r) } jsonp(n, r) { return this.request("JSONP", n, { params: (new ur).append(r, "JSONP_CALLBACK"), observe: "body", responseType: "json" }) } options(n, r = {}) { return this.request("OPTIONS", n, r) } patch(n, r, s = {}) { return this.request("PATCH", n, up(s, r)) } post(n, r, s = {}) { return this.request("POST", n, up(s, r)) } put(n, r, s = {}) { return this.request("PUT", n, up(s, r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L($c)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function Kb(e, t) { return t(e) } function i2(e, t) { return (i, n) => t.intercept(i, { handle: r => e(r, n) }) } const s2 = new W(""), Ta = new W(""), Xb = new W(""); function o2() { let e = null; return (t, i) => { null === e && (e = (fe(s2, { optional: !0 }) ?? []).reduceRight(i2, Kb)); const n = fe(bh), r = n.add(); return e(t, i).pipe(Gb(() => n.remove(r))) } } let eD = (() => { var e; class t extends $c { constructor(n, r) { super(), this.backend = n, this.injector = r, this.chain = null, this.pendingTasks = fe(bh) } handle(n) { if (null === this.chain) { const s = Array.from(new Set([...this.injector.get(Ta), ...this.injector.get(Xb, [])])); this.chain = s.reduceRight((o, a) => function r2(e, t, i) { return (n, r) => i.runInContext(() => t(n, s => e(s, r))) }(o, a, this.injector), Kb) } const r = this.pendingTasks.add(); return this.chain(n, s => this.backend.handle(s)).pipe(Gb(() => this.pendingTasks.remove(r))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Gc), L(zn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const u2 = /^\)\]\}',?\n/; let nD = (() => { var e; class t { constructor(n) { this.xhrFactory = n } handle(n) { if ("JSONP" === n.method) throw new F(-2800, !1); const r = this.xhrFactory; return (r.\u0275loadImpl ? wo(r.\u0275loadImpl()) : ds(null)).pipe(Bu(() => new ze(o => { const a = r.build(); if (a.open(n.method, n.urlWithParams), n.withCredentials && (a.withCredentials = !0), n.headers.forEach((D, T) => a.setRequestHeader(D, T.join(","))), n.headers.has("Accept") || a.setRequestHeader("Accept", "application/json, text/plain, */*"), !n.headers.has("Content-Type")) { const D = n.detectContentTypeHeader(); null !== D && a.setRequestHeader("Content-Type", D) } if (n.responseType) { const D = n.responseType.toLowerCase(); a.responseType = "json" !== D ? D : "text" } const l = n.serializeBody(); let c = null; const u = () => { if (null !== c) return c; const D = a.statusText || "OK", T = new Pi(a.getAllResponseHeaders()), C = function d2(e) { return "responseURL" in e && e.responseURL ? e.responseURL : /^X-Request-URL:/m.test(e.getAllResponseHeaders()) ? e.getResponseHeader("X-Request-URL") : null }(a) || n.url; return c = new cp({ headers: T, status: a.status, statusText: D, url: C }), c }, h = () => { let { headers: D, status: T, statusText: C, url: P } = u(), O = null; 204 !== T && (O = typeof a.response > "u" ? a.responseText : a.response), 0 === T && (T = O ? 200 : 0); let V = T >= 200 && T < 300; if ("json" === n.responseType && "string" == typeof O) { const J = O; O = O.replace(u2, ""); try { O = "" !== O ? JSON.parse(O) : null } catch (ue) { O = J, V && (V = !1, O = { error: ue, text: O }) } } V ? (o.next(new oo({ body: O, headers: D, status: T, statusText: C, url: P || void 0 })), o.complete()) : o.error(new Zb({ error: O, headers: D, status: T, statusText: C, url: P || void 0 })) }, g = D => { const { url: T } = u(), C = new Zb({ error: D, status: a.status || 0, statusText: a.statusText || "Unknown Error", url: T || void 0 }); o.error(C) }; let _ = !1; const y = D => { _ || (o.next(u()), _ = !0); let T = { type: so.DownloadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), "text" === n.responseType && a.responseText && (T.partialText = a.responseText), o.next(T) }, b = D => { let T = { type: so.UploadProgress, loaded: D.loaded }; D.lengthComputable && (T.total = D.total), o.next(T) }; return a.addEventListener("load", h), a.addEventListener("error", g), a.addEventListener("timeout", g), a.addEventListener("abort", g), n.reportProgress && (a.addEventListener("progress", y), null !== l && a.upload && a.upload.addEventListener("progress", b)), a.send(l), o.next({ type: so.Sent }), () => { a.removeEventListener("error", g), a.removeEventListener("abort", g), a.removeEventListener("load", h), a.removeEventListener("timeout", g), n.reportProgress && (a.removeEventListener("progress", y), null !== l && a.upload && a.upload.removeEventListener("progress", b)), a.readyState !== a.DONE && a.abort() } }))) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(wb)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); const dp = new W("XSRF_ENABLED"), iD = new W("XSRF_COOKIE_NAME", { providedIn: "root", factory: () => "XSRF-TOKEN" }), rD = new W("XSRF_HEADER_NAME", { providedIn: "root", factory: () => "X-XSRF-TOKEN" }); class sD { } let p2 = (() => { var e; class t { constructor(n, r, s) { this.doc = n, this.platform = r, this.cookieName = s, this.lastCookieString = "", this.lastToken = null, this.parseCount = 0 } getToken() { if ("server" === this.platform) return null; const n = this.doc.cookie || ""; return n !== this.lastCookieString && (this.parseCount++, this.lastToken = fb(n, this.cookieName), this.lastCookieString = n), this.lastToken } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt), L(Nr), L(iD)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac }), t })(); function g2(e, t) { const i = e.url.toLowerCase(); if (!fe(dp) || "GET" === e.method || "HEAD" === e.method || i.startsWith("http://") || i.startsWith("https://")) return t(e); const n = fe(sD).getToken(), r = fe(rD); return null != n && !e.headers.has(r) && (e = e.clone({ headers: e.headers.set(r, n) })), t(e) } var dr = function (e) { return e[e.Interceptors = 0] = "Interceptors", e[e.LegacyInterceptors = 1] = "LegacyInterceptors", e[e.CustomXsrfConfiguration = 2] = "CustomXsrfConfiguration", e[e.NoXsrfProtection = 3] = "NoXsrfProtection", e[e.JsonpSupport = 4] = "JsonpSupport", e[e.RequestsMadeViaParent = 5] = "RequestsMadeViaParent", e[e.Fetch = 6] = "Fetch", e }(dr || {}); function Br(e, t) { return { \u0275kind: e, \u0275providers: t } } function _2(...e) { const t = [Wc, nD, eD, { provide: $c, useExisting: eD }, { provide: Gc, useExisting: nD }, { provide: Ta, useValue: g2, multi: !0 }, { provide: dp, useValue: !0 }, { provide: sD, useClass: p2 }]; for (const i of e) t.push(...i.\u0275providers); return function Kd(e) { return { \u0275providers: e } }(t) } const oD = new W("LEGACY_INTERCEPTOR_FN"); let v2 = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [_2(Br(dr.LegacyInterceptors, [{ provide: oD, useFactory: o2 }, { provide: Ta, useExisting: oD, multi: !0 }]))] }), t })(), aD = (() => { var e; class t { constructor(n) { this.http = n } load() { return this.http.get("/assets/config.json").toPromise().then(r => (Object.assign(this, r), r)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), lD = (() => { var e; class t { constructor() { this.modals = [] } registerModal(n, r) { this.modals.push({ key: n, modalRef: r }) } removeModalByKey(n) { let r = -1; for (let s = 0; s < this.modals.length; s++) { let o = this.modals[s]; if (null != o && o.key == n) { r = s; break } } return r >= 0 && delete this.modals[r], r } closeRemoveAllModals() { this.modals.forEach(n => { n.modalRef.close() }), this.modals.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Yc = (() => { var e; class t { constructor() { this.contextKeyVal = [] } addContext(n, r) { let s = !1; for (let o = 0; o < this.contextKeyVal.length; o++) { let a = this.contextKeyVal[o]; a.key == n && (a.value = r, s = !0) } 0 == s && this.contextKeyVal.push(new E2(n, r)) } getContext() { return this.contextKeyVal } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextKeyVal.length; s++)if (this.contextKeyVal[s].key == n) { r = s; break } return r >= 0 ? this.contextKeyVal[r].value : "" } clearContext() { this.contextKeyVal.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); class E2 { constructor(t, i) { this.key = t, this.value = i } } let Ma = (() => { var e; class t { constructor(n) { this.elementLookupService = n, this.contextMenus = [] } registerContextMenu(n, r) { this.contextMenus.push({ key: n, contextMenu: r }), this.elementLookupService.addElementTagHTML(n, null, r) } removeContextMenuByKey(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 && delete this.contextMenus[r], r } retrieveContextValue(n) { let r = -1; for (let s = 0; s < this.contextMenus.length; s++)if (this.contextMenus[s].key == n) { r = s; break } return r >= 0 ? this.contextMenus[r].contextMenu : null } removeAllContextMenus() { this.contextMenus.length = 0 } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Xt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), S2 = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.http = n, this.configService = r, this.modalRefService = s, this.elementLookupService = o, this.contextService = a, this.contextMenuService = l, this.backend_URI = "http://localhost:8000", this.backend_URI = r.serverUrl + ":" + r.serverPort } get() { this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let n = $t.injector.get(Bn); const r = this.http.get(this.backend_URI).pipe($b((s, o) => (console.error("Error occurred during the HTTP request:", s), n.postMessage("error connection"), function qk(e, t) { const i = $(e) ? e : () => e, n = r => r.error(i()); return new ze(t ? r => t.schedule(n, 0, r) : n) }(() => new Error(s.error))))); return r } post(n, r) { let s = []; r.forEach(a => s.push(Object.assign({}, a))), this.modalRefService.closeRemoveAllModals(), this.elementLookupService.clearElementLookupDict(), this.contextService.clearContext(), this.contextMenuService.removeAllContextMenus(); let o = null; return o = this.http.post(this.backend_URI + "/backend", s.length > 0 ? { function: n, context: s } : { function: n }), o } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Wc), L(aD), L(lD), L(Xt), L(Yc), L(Ma)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Bn = (() => { var e; class t { constructor(n, r, s) { this.httpService = n, this.httpClient = r, this.contextService = s, this.frontendJson = new ee, this.menuBar = new ee, this.messageLists = new ee, this.contextMenus = new ee, this.lastData = null, this.backend_URI = "http://localhost:8000" } initialGet() { let n = document.getElementById("loader"); n?.removeAttribute("hidden"), this.httpService.get().subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r), n?.setAttribute("hidden", "true") } }) } operationPost(n) { let r = this.contextService.getContext(), s = document.getElementById("loader"); s?.removeAttribute("hidden"), this.httpService.post(n.operation, r).subscribe({ next: o => { this.lastData = o, this.frontendJson.next(o), s?.setAttribute("hidden", "true") } }) } uncheckedPost(n) { this.httpClient.post(this.backend_URI + "/backend", n).subscribe({ next: r => { this.lastData = r, this.frontendJson.next(r) } }) } detectCreateMenuBar(n) { "menu_bar" == n.type ? this.menuBar.next(n) : n.children.forEach(r => { this.detectCreateMenuBar(r) }) } getAllMessagesContextMenus(n, r, s) { "message" == n.type ? r.push(n) : "context_menu" == n.type ? s.push(n) : n.children.forEach(o => { this.getAllMessagesContextMenus(o, r, s) }) } postMessage(n, r = "danger") { let s = [this.getErrorMessage(n)]; this.messageLists.next(s) } getErrorMessage(n, r = "danger") { return { id: "client_error", type: "message", parent: "window", attributes: [{ id: "client_error", key: "message", value: n }, { id: "client_error", key: "title", value: "Error" }, { id: "client_error", key: "type", value: r }], when: [], children: [] } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(S2), L(Wc), L(Yc)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Tn = (() => { var e; class t { constructor() { } attrBackgroundColor(n, r) { n.style.backgroundColor = r.value } attrHeight(n, r) { n.style.height = r.value + "px" } attrWidth(n, r) { n.style.width = r.value + "px" } setBorderHelper(n, r) { let s = Number(this.findGetAttributeValue("border_width", r, "0")), o = this.findGetAttributeValue("border_color", r, "black"); this.setBorder(n, s, o, "solid") } setBorder(n, r, s, o) { r > 0 && (n.style.border = String(r) + "px " + o + " " + s) } addAttributes(n, r) { let s = [{ key: "background_color", value: this.attrBackgroundColor }, { key: "height", value: this.attrHeight }, { key: "width", value: this.attrWidth }]; r.forEach(o => { let a = s.findIndex(l => l.key == o.key); a >= 0 && s[a].value(n, o) }), this.setHover(n, r) } addGeneralAttributes(n, r) { this.setGrid(n, r), this.setBorderHelper(n, r) } setGrid(n, r) { let s = this.findAttribute("grid_row", r), o = this.findAttribute("grid_row_span", r), a = this.findAttribute("grid_column", r), l = this.findAttribute("grid_column_span", r), c = 1; null != o && (c = Number(o.value)); let u = 1; if (null != l && (u = Number(l.value)), null != s) { let h = Number(s.value) + 1; n.style.gridRow = String(h) + "/span " + String(c) } if (null != a) { let h = Number(a.value) + 1; n.style.gridColumn = String(h) + "/span " + String(u) } } setHover(n, r) { let s = this.findGetAttributeValue("on_hover", r, "false"), o = this.findGetAttributeValue("on_hover_background_color", r, "white"), a = this.findGetAttributeValue("on_hover_foreground_color", r, "black"), l = this.findGetAttributeValue("on_hover_border_color", r, "white"), c = this.findGetAttributeValue("background_color", r, "white"), u = this.findGetAttributeValue("foreground_color", r, "black"), h = Number(this.findGetAttributeValue("border_width", r, "0")), g = this.findGetAttributeValue("border_color", r, "black"), _ = "solid"; "true" == s && (n.onmouseenter = y => { n.style.backgroundColor = o, n.style.color = a, this.setBorder(n, h, l, _) }, n.onmouseleave = y => { n.style.backgroundColor = c, n.style.color = u, this.setBorder(n, h, g, _) }) } textAttributes(n, r) { } addClasses(n, r, s, o, a = "class") { s.forEach(function (c) { n.classList.contains(c) && n.classList.remove(c), n.classList.add(c) }); let l = !1; r.forEach(function (c) { if (c.key == a) { l = !0; let u = String(c.value); n.classList.add(u) } }), l || o.forEach(function (c) { n.classList.add(c) }) } setAttributesDirectly(n, r) { r.forEach(s => { n.style[s.key] = s.value }) } findAttribute(n, r) { let s = null, o = r.findIndex(a => a.key == n); return o >= 0 && (s = r[o]), s } findGetAttributeValue(n, r, s) { let o = s, a = r.findIndex(l => l.key == n); return a >= 0 && (o = r[a].value), o } setAbsoulteRelativePositions(n, r, s) { let o = Number(this.findGetAttributeValue("pos_x", s.attributes, "-1")), a = Number(this.findGetAttributeValue("pos_y", s.attributes, "-1")); o >= 0 && "absstatic" == n && (r.style.left = String(o) + "px"), o >= 0 && "relstatic" == n && (r.style.left = String(o) + "%"), a >= 0 && "absstatic" == n && (r.style.top = String(a) + "px"), a >= 0 && "relstatic" == n && (r.style.top = String(a) + "%"), (a >= 0 || o >= 0) && ("absstatic" == n || "relstatic" == n) && (r.style.position = "absolute"); let l = this.findAttribute("grid_row", s.attributes), c = this.findAttribute("grid_column", s.attributes); null == l && "grid" == n && (r.style.gridRow = "1"), null == c && "grid" == n && (r.style.gridColumn = "1") } setChildLayout(n, r) { let s = this.findAttribute("child_layout", r), o = this.findAttribute("flex_direction", r); if (null != s) { let a = s?.value; "grid" == a ? n.style.display = "grid" : "flex" == a ? (n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column") : ("absstatic" == a || "relstatic" == a) && (n.style.position = "relative", n.style.display = "flex") } else n.style.display = "flex", n.style.flexDirection = null != o ? o.value : "column" } setVisibility(n, r) { let s = this.findAttribute("visibility", r); null != s && ("hidden" == s.value || "collapse" == s.value ? n.style.visibility = "collapse" : ("shown" == s.value || "visible" == s.value) && (n.style.visibility = "visible")) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const T2 = ["child"]; function M2(e, t) { } let cD = (() => { var e; class t { constructor(n, r, s, o) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.children = [] } ngAfterViewInit() { if (null != this.element) { "modal" != this.element.type && this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findGetAttributeValue("child_layout", this.element.attributes, "flex"); this.element.children.forEach(r => { let s = this.childBearerService.bearChild(this.child, r, n); null != s && this.children.push(s) }), this.cd.detectChanges() } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-container"]], viewQuery: function (n, r) { if (1 & n && at(T2, 5, Cn), 2 & n) { let s; se(s = oe()) && (r.child = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["child", ""]], template: function (n, r) { 1 & n && B(0, M2, 0, 0, "ng-template", null, 0, En) } }), t })(); function uD(e) { let t = [], i = "", n = 0; for (let r = 0; r < e.length; r++) { let s = e.charAt(r); if ("(" == s) n += 1, i += s; else if (")" == s) { if (n -= 1, i += s, n < 0) { console.log("ERROR - BRACKE LEVEL LOWER THAN 0"); break } } else "," == s && 0 == n ? (t.push(i), i = "") : i += s } return t.push(i), t } function dD(e) { $t.injector.get(Ma).contextMenus.length > 0 && (e.preventDefault(), e.stopPropagation(), fD()) } function fD() { let e = $t.injector.get(Ma), t = !1; return e.contextMenus.forEach(i => { let n = document.getElementById(i.key); null != n && "block" == n.style.display && (n.style.display = "none", t = !0) }), t } function hD(e, t) { let i = $t.injector.get(Xt), n = e.operation; n = n.substring(1), n = n.slice(0, -1); let r = uD(n), s = r[0], o = r[1], a = r[2].replaceAll('"', ""), l = i.getElement(s); if (null != l) { if ("context_menu" == l.element.type && null != t) return void ("visibility" != o || "visible" != a ? console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " + s + "," + o + "," + a) : function I2(e, t) { if (t.preventDefault(), t.stopPropagation(), 1 != fD() && null != $t.injector.get(Ma).retrieveContextValue(e) && "pageX" in t && "pageY" in t && "number" == typeof t.pageX && "number" == typeof t.pageY) { let r = document.getElementById(e); null != r && ("block" == r.style.display ? r.style.display = "none" : (r.style.display = "block", r.style.left = t.pageX + "px", r.style.top = t.pageY + "px")) } }(s, t)); let c = l.element.attributes, u = !1; for (let h in c) c[h].key == o && (u = !0, c[h] = { id: s, key: o, value: a }); 0 == u && c.push({ id: s, key: o, value: a }), l.element.attributes = c, null != l.object && "setAttributes" in l.object && null != l.object.setAttributes && "function" == typeof l.object.setAttributes && l.object.setAttributes(c), null == l.object && l.element.type.startsWith("svg") && null != l.tagHtml && l.tagHtml.style.setProperty(o, a.replaceAll('"', "")), null != l.tagHtml && $t.injector.get(Su).setChildTagAttributes(l.tagHtml, l.element) } else console.log("COULD NOT FIND ELEMENT FOR when:" + s + "::" + o + "::" + a), console.log(e) } function pD(e) { let t = $t.injector.get(Yc), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, n = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/, r = i.exec(e); for (; null != r;) { let s = r[0], o = r[1] || r[2] || r[3], a = r[4] || r[5] || r[6], l = r[7] || r[8] || r[9], c = t.retrieveContextValue(o); if (null == c || "" == c) { if (null == l) throw new Error("Missing required value for " + o); c = l } let u = /^[0-9]*$/.test(c), h = n.test(c), g = c.length > 1 && '"' == c[0] && '"' == c.slice(-1), _ = !u && !h && !g; if (null != a) { if ("str" != a && "int" != a && "const" != a) throw new Error("Not a valid type " + a + ". Should be str, int or const."); if ("str" != a || g) { if ("int" == a && !u) throw new Error("Expected a number but got " + c) } else c = '"' + c + '"'; if ("const" == a && !h) throw new Error("Expected a constant that can be parsed to an atom, but got: " + c) } console.log("out"), null == a && _ && (c = '"' + c + '"'), e = e.replace(s, c), i = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g, r = i.exec(e) } return e } function gD(e, t) { let i = $t.injector.get(Bn), n = e.operation; n = pD(n), e.operation = n, i.operationPost(e) } function _D(e, t) { let i = $t.injector.get(Yc), n = e.operation; if (n = pD(n), "(" == n[0]) { n = n.substring(1), n = n.slice(0, -1); let o = uD(n); if (o.length >= 2) { o.length > 2 && (console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"), console.log(e)); let a = o[0], l = o[1]; if (null != t) { let u = t.target; if (null != u && "value" in u && null != l.match(/_value/g) && "string" == typeof u.value) { if ("" == u.value) return void console.log("EVENT TARGET IS EMPTY"); l = l.replace("_value", u.value) } } for (let c = 2; c < o.length; c++)l = l + "," + o[c]; return void i.addContext(a, l) } } let r = "The value of context event should be a tuple of size 2, but got " + e.operation; console.error(r), $t.injector.get(Bn).postMessage(r, "warning") } let Fi = (() => { var e; class t { constructor(n) { this.frontendService = n, document.onclick = dD, document.oncontextmenu = dD } findCallback(n, r) { let s = null, o = r.findIndex(a => a.actionType == n); return o >= 0 && (s = r[o]), s } setCallbacks(n, r) { this.handleEvent(n, r, "click", "click"), this.handleEvent(n, r, "input", "input"), this.handleEvent(n, r, "right_click", "contextmenu"), this.handleEvent(n, r, "mouseenter", "mouseenter"), this.handleEvent(n, r, "mouseleave", "mouseleave"), this.handleEvent(n, r, "load", "load"), this.handleEvent(n, r, "dblclick", "dblclick") } handleEvent(n, r, s = "", o = "") { let a = []; if (r.forEach(l => { l.actionType == s && a.push(l) }), a.length > 0 && "" != o) { if ("load" == s) return void a.forEach(l => { if ("context" == l.interactionType && _D(l, null), "update" == l.interactionType && hD(l, null), "call" == l.interactionType || "callback" == l.interactionType) { console.log("call"); try { gD(l) } catch (c) { $t.injector.get(Bn).postMessage(c.message, "warning") } } }); "click" == s && (n.style.cursor = "pointer"), n.addEventListener(o, function (l) { a.sort(function (g, _) { return g.interactionType < _.interactionType ? 1 : g.interactionType > _.interactionType ? -1 : 0 }); const c = a.filter(g => "update" == g.interactionType), u = a.filter(g => "context" == g.interactionType), h = a.filter(g => "call" == g.interactionType || "callback" == g.interactionType); c.forEach(g => { try { hD(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), u.forEach(g => { try { _D(g, l) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }), h.length > 1 && (h[0].operation = "(" + h.map(g => g.operation).join(",") + ")"), h.forEach(g => { try { gD(h[0]) } catch (_) { $t.injector.get(Bn).postMessage(_.message, "warning") } }) }) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Bn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const { isArray: N2 } = Array; function mD(e) { return Pt(t => function A2(e, t) { return N2(t) ? e(...t) : e(t) }(e, t)) } const O2 = ["addListener", "removeListener"], x2 = ["addEventListener", "removeEventListener"], R2 = ["on", "off"]; function Gt(e, t, i, n) { if ($(i) && (n = i, i = void 0), n) return Gt(e, t, i).pipe(mD(n)); const [r, s] = function k2(e) { return $(e.addEventListener) && $(e.removeEventListener) }(e) ? x2.map(o => a => e[o](t, a, i)) : function P2(e) { return $(e.addListener) && $(e.removeListener) }(e) ? O2.map(vD(e, t)) : function F2(e) { return $(e.on) && $(e.off) }(e) ? R2.map(vD(e, t)) : []; if (!r && Pu(e)) return us(o => Gt(o, t, i))(Ft(e)); if (!r) throw new TypeError("Invalid event target"); return new ze(o => { const a = (...l) => o.next(1 < l.length ? l : l[0]); return r(a), () => s(a) }) } function vD(e, t) { return i => n => e[i](t, n) } class L2 extends de { constructor(t, i) { super() } schedule(t, i = 0) { return this } } const Zc = { setInterval(e, t, ...i) { const { delegate: n } = Zc; return n?.setInterval ? n.setInterval(e, t, ...i) : setInterval(e, t, ...i) }, clearInterval(e) { const { delegate: t } = Zc; return (t?.clearInterval || clearInterval)(e) }, delegate: void 0 }, yD = { now: () => (yD.delegate || Date).now(), delegate: void 0 }; class Ia { constructor(t, i = Ia.now) { this.schedulerActionCtor = t, this.now = i } schedule(t, i = 0, n) { return new this.schedulerActionCtor(this, t).schedule(n, i) } } Ia.now = yD.now; const bD = new class V2 extends Ia { constructor(t, i = Ia.now) { super(t, i), this.actions = [], this._active = !1 } flush(t) { const { actions: i } = this; if (this._active) return void i.push(t); let n; this._active = !0; do { if (n = t.execute(t.state, t.delay)) break } while (t = i.shift()); if (this._active = !1, n) { for (; t = i.shift();)t.unsubscribe(); throw n } } }(class B2 extends L2 { constructor(t, i) { super(t, i), this.scheduler = t, this.work = i, this.pending = !1 } schedule(t, i = 0) { var n; if (this.closed) return this; this.state = t; const r = this.id, s = this.scheduler; return null != r && (this.id = this.recycleAsyncId(s, r, i)), this.pending = !0, this.delay = i, this.id = null !== (n = this.id) && void 0 !== n ? n : this.requestAsyncId(s, this.id, i), this } requestAsyncId(t, i, n = 0) { return Zc.setInterval(t.flush.bind(t, this), n) } recycleAsyncId(t, i, n = 0) { if (null != n && this.delay === n && !1 === this.pending) return i; null != i && Zc.clearInterval(i) } execute(t, i) { if (this.closed) return new Error("executing a cancelled action"); this.pending = !1; const n = this._execute(t, i); if (n) return n; !1 === this.pending && null != this.id && (this.id = this.recycleAsyncId(this.scheduler, this.id, null)) } _execute(t, i) { let r, n = !1; try { this.work(t) } catch (s) { n = !0, r = s || new Error("Scheduled action threw falsy error") } if (n) return this.unsubscribe(), r } unsubscribe() { if (!this.closed) { const { id: t, scheduler: i } = this, { actions: n } = i; this.work = this.state = this.scheduler = null, this.pending = !1, ke(n, this), null != t && (this.id = this.recycleAsyncId(i, t, null)), this.delay = null, super.unsubscribe() } } }), H2 = bD; function DD(e = 0, t, i = H2) { let n = -1; return null != t && (bg(t) ? i = t : n = t), new ze(r => { let s = function U2(e) { return e instanceof Date && !isNaN(e) }(e) ? +e - i.now() : e; s < 0 && (s = 0); let o = 0; return i.schedule(function () { r.closed || (r.next(o++), 0 <= n ? this.schedule(void 0, n) : r.complete()) }, s) }) } const { isArray: j2 } = Array; function wD(e) { return 1 === e.length && j2(e[0]) ? e[0] : e } function CD(...e) { return 1 === (e = wD(e)).length ? Ft(e[0]) : new ze(function $2(e) { return t => { let i = []; for (let n = 0; i && !t.closed && n < e.length; n++)i.push(Ft(e[n]).subscribe(ft(t, r => { if (i) { for (let s = 0; s < i.length; s++)s !== n && i[s].unsubscribe(); i = null } t.next(r) }))) } }(e)) } function fp(...e) { const t = ku(e), i = wD(e); return i.length ? new ze(n => { let r = i.map(() => []), s = i.map(() => !1); n.add(() => { r = s = null }); for (let o = 0; !n.closed && o < i.length; o++)Ft(i[o]).subscribe(ft(n, a => { if (r[o].push(a), r.every(l => l.length)) { const l = r.map(c => c.shift()); n.next(t ? t(...l) : l), r.some((c, u) => !c.length && s[u]) && n.complete() } }, () => { s[o] = !0, !r[o].length && n.complete() })); return () => { r = s = null } }) : Do } function Jc(...e) { return function G2() { return yg(1) }()(wo(e, Qa(e))) } function Mt(e) { return mt((t, i) => { Ft(e).subscribe(ft(i, () => i.complete(), wt)), !i.closed && t.subscribe(i) }) } function ui(e) { return e <= 0 ? () => Do : mt((t, i) => { let n = 0; t.subscribe(ft(i, r => { ++n <= e && (i.next(r), e <= n && i.complete()) })) }) } function ED(e, t, i) { const n = $(e) || t || i ? { next: e, error: t, complete: i } : e; return n ? mt((r, s) => { var o; null === (o = n.subscribe) || void 0 === o || o.call(n); let a = !0; r.subscribe(ft(s, l => { var c; null === (c = n.next) || void 0 === c || c.call(n, l), s.next(l) }, () => { var l; a = !1, null === (l = n.complete) || void 0 === l || l.call(n), s.complete() }, l => { var c; a = !1, null === (c = n.error) || void 0 === c || c.call(n, l), s.error(l) }, () => { var l, c; a && (null === (l = n.unsubscribe) || void 0 === l || l.call(n)), null === (c = n.finalize) || void 0 === c || c.call(n) })) }) : yi } function hp(...e) { const t = ku(e); return mt((i, n) => { const r = e.length, s = new Array(r); let o = e.map(() => !1), a = !1; for (let l = 0; l < r; l++)Ft(e[l]).subscribe(ft(n, c => { s[l] = c, !a && !o[l] && (o[l] = !0, (a = o.every(yi)) && (o = null)) }, wt)); i.subscribe(ft(n, l => { if (a) { const c = [l, ...s]; n.next(t ? t(...c) : c) } })) }) } function SD(e, t) { return t ? i => Jc(t.pipe(ui(1), function W2() { return mt((e, t) => { e.subscribe(ft(t, wt)) }) }()), i.pipe(SD(e))) : us((i, n) => Ft(e(i, n)).pipe(ui(1), function q2(e) { return Pt(() => e) }(i))) } const { isArray: Q2 } = Array, { getPrototypeOf: K2, prototype: X2, keys: eL } = Object; function iL(e, t) { return e.reduce((i, n, r) => (i[n] = t[r], i), {}) } let TD = (() => { var e; class t { constructor(n, r) { this._renderer = n, this._elementRef = r, this.onChange = s => { }, this.onTouched = () => { } } setProperty(n, r) { this._renderer.setProperty(this._elementRef.nativeElement, n, r) } registerOnTouched(n) { this.onTouched = n } registerOnChange(n) { this.onChange = n } setDisabledState(n) { this.setProperty("disabled", n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe)) }, e.\u0275dir = k({ type: e }), t })(), Vr = (() => { var e; class t extends TD { } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, features: [Oe] }), t })(); const Kn = new W("NgValueAccessor"), sL = { provide: Kn, useExisting: ae(() => pp), multi: !0 }; let pp = (() => { var e; class t extends Vr { writeValue(n) { this.setProperty("checked", n) } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["input", "type", "checkbox", "formControlName", ""], ["input", "type", "checkbox", "formControl", ""], ["input", "type", "checkbox", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.checked) })("blur", function () { return r.onTouched() }) }, features: [$e([sL]), Oe] }), t })(); const oL = { provide: Kn, useExisting: ae(() => Qc), multi: !0 }, lL = new W("CompositionEventMode"); let Qc = (() => { var e; class t extends TD { constructor(n, r, s) { super(n, r), this._compositionMode = s, this._composing = !1, null == this._compositionMode && (this._compositionMode = !function aL() { const e = ba() ? ba().getUserAgent() : ""; return /android (\d+)/.test(e.toLowerCase()) }()) } writeValue(n) { this.setProperty("value", n ?? "") } _handleInput(n) { (!this._compositionMode || this._compositionMode && !this._composing) && this.onChange(n) } _compositionStart() { this._composing = !0 } _compositionEnd(n) { this._composing = !1, this._compositionMode && this.onChange(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Wn), v(Fe), v(lL, 8)) }, e.\u0275dir = k({ 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 (n, r) { 1 & n && ce("input", function (o) { return r._handleInput(o.target.value) })("blur", function () { return r.onTouched() })("compositionstart", function () { return r._compositionStart() })("compositionend", function (o) { return r._compositionEnd(o.target.value) }) }, features: [$e([oL]), Oe] }), t })(); const zt = new W("NgValidators"), hr = new W("NgAsyncValidators"); function kD(e) { return null != e } function LD(e) { return fc(e) ? wo(e) : e } function BD(e) { let t = {}; return e.forEach(i => { t = null != i ? { ...t, ...i } : t }), 0 === Object.keys(t).length ? null : t } function VD(e, t) { return t.map(i => i(e)) } function HD(e) { return e.map(t => function uL(e) { return !e.validate }(t) ? t : i => t.validate(i)) } function gp(e) { return null != e ? function UD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return BD(VD(i, t)) } }(HD(e)) : null } function jD(e) { if (!e) return null; const t = e.filter(kD); return 0 == t.length ? null : function (i) { return function rL(...e) { const t = ku(e), { args: i, keys: n } = function tL(e) { if (1 === e.length) { const t = e[0]; if (Q2(t)) return { args: t, keys: null }; if (function nL(e) { return e && "object" == typeof e && K2(e) === X2 }(t)) { const i = eL(t); return { args: i.map(n => t[n]), keys: i } } } return { args: e, keys: null } }(e), r = new ze(s => { const { length: o } = i; if (!o) return void s.complete(); const a = new Array(o); let l = o, c = o; for (let u = 0; u < o; u++) { let h = !1; Ft(i[u]).subscribe(ft(s, g => { h || (h = !0, c--), a[u] = g }, () => l--, void 0, () => { (!l || !h) && (c || s.next(n ? iL(n, a) : a), s.complete()) })) } }); return t ? r.pipe(mD(t)) : r }(VD(i, t).map(LD)).pipe(Pt(BD)) } } function _p(e) { return null != e ? jD(HD(e)) : null } function $D(e, t) { return null === e ? [t] : Array.isArray(e) ? [...e, t] : [e, t] } function GD(e) { return e._rawValidators } function zD(e) { return e._rawAsyncValidators } function mp(e) { return e ? Array.isArray(e) ? e : [e] : [] } function Xc(e, t) { return Array.isArray(e) ? e.includes(t) : e === t } function WD(e, t) { const i = mp(t); return mp(e).forEach(r => { Xc(i, r) || i.push(r) }), i } function qD(e, t) { return mp(t).filter(i => !Xc(e, i)) } class YD { 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(t) { this._rawValidators = t || [], this._composedValidatorFn = gp(this._rawValidators) } _setAsyncValidators(t) { this._rawAsyncValidators = t || [], this._composedAsyncValidatorFn = _p(this._rawAsyncValidators) } get validator() { return this._composedValidatorFn || null } get asyncValidator() { return this._composedAsyncValidatorFn || null } _registerOnDestroy(t) { this._onDestroyCallbacks.push(t) } _invokeOnDestroyCallbacks() { this._onDestroyCallbacks.forEach(t => t()), this._onDestroyCallbacks = [] } reset(t = void 0) { this.control && this.control.reset(t) } hasError(t, i) { return !!this.control && this.control.hasError(t, i) } getError(t, i) { return this.control ? this.control.getError(t, i) : null } } class hn extends YD { get formDirective() { return null } get path() { return null } } class pr extends YD { constructor() { super(...arguments), this._parent = null, this.name = null, this.valueAccessor = null } } class ZD { constructor(t) { this._cd = t } 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 JD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(pr, 2)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""], ["", "ngModel", ""], ["", "formControl", ""]], hostVars: 14, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(), QD = (() => { var e; class t extends ZD { constructor(n) { super(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(hn, 10)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroupName", ""], ["", "formArrayName", ""], ["", "ngModelGroup", ""], ["", "formGroup", ""], ["form", 3, "ngNoForm", ""], ["", "ngForm", ""]], hostVars: 16, hostBindings: function (n, r) { 2 & n && De("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: [Oe] }), t })(); const Na = "VALID", tu = "INVALID", ao = "PENDING", Aa = "DISABLED"; function bp(e) { return (nu(e) ? e.validators : e) || null } function Dp(e, t) { return (nu(t) ? t.asyncValidators : e) || null } function nu(e) { return null != e && !Array.isArray(e) && "object" == typeof e } function XD(e, t, i) { const n = e.controls; if (!(t ? Object.keys(n) : n).length) throw new F(1e3, ""); if (!n[i]) throw new F(1001, "") } function ew(e, t, i) { e._forEachChild((n, r) => { if (void 0 === i[r]) throw new F(1002, "") }) } class iu { constructor(t, i) { this._pendingDirty = !1, this._hasOwnPendingAsyncValidator = !1, this._pendingTouched = !1, this._onCollectionChange = () => { }, this._parent = null, this.pristine = !0, this.touched = !1, this._onDisabledChange = [], this._assignValidators(t), this._assignAsyncValidators(i) } get validator() { return this._composedValidatorFn } set validator(t) { this._rawValidators = this._composedValidatorFn = t } get asyncValidator() { return this._composedAsyncValidatorFn } set asyncValidator(t) { this._rawAsyncValidators = this._composedAsyncValidatorFn = t } get parent() { return this._parent } get valid() { return this.status === Na } get invalid() { return this.status === tu } get pending() { return this.status == ao } get disabled() { return this.status === Aa } get enabled() { return this.status !== Aa } get dirty() { return !this.pristine } get untouched() { return !this.touched } get updateOn() { return this._updateOn ? this._updateOn : this.parent ? this.parent.updateOn : "change" } setValidators(t) { this._assignValidators(t) } setAsyncValidators(t) { this._assignAsyncValidators(t) } addValidators(t) { this.setValidators(WD(t, this._rawValidators)) } addAsyncValidators(t) { this.setAsyncValidators(WD(t, this._rawAsyncValidators)) } removeValidators(t) { this.setValidators(qD(t, this._rawValidators)) } removeAsyncValidators(t) { this.setAsyncValidators(qD(t, this._rawAsyncValidators)) } hasValidator(t) { return Xc(this._rawValidators, t) } hasAsyncValidator(t) { return Xc(this._rawAsyncValidators, t) } clearValidators() { this.validator = null } clearAsyncValidators() { this.asyncValidator = null } markAsTouched(t = {}) { this.touched = !0, this._parent && !t.onlySelf && this._parent.markAsTouched(t) } markAllAsTouched() { this.markAsTouched({ onlySelf: !0 }), this._forEachChild(t => t.markAllAsTouched()) } markAsUntouched(t = {}) { this.touched = !1, this._pendingTouched = !1, this._forEachChild(i => { i.markAsUntouched({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updateTouched(t) } markAsDirty(t = {}) { this.pristine = !1, this._parent && !t.onlySelf && this._parent.markAsDirty(t) } markAsPristine(t = {}) { this.pristine = !0, this._pendingDirty = !1, this._forEachChild(i => { i.markAsPristine({ onlySelf: !0 }) }), this._parent && !t.onlySelf && this._parent._updatePristine(t) } markAsPending(t = {}) { this.status = ao, !1 !== t.emitEvent && this.statusChanges.emit(this.status), this._parent && !t.onlySelf && this._parent.markAsPending(t) } disable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Aa, this.errors = null, this._forEachChild(n => { n.disable({ ...t, onlySelf: !0 }) }), this._updateValue(), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!0)) } enable(t = {}) { const i = this._parentMarkedDirty(t.onlySelf); this.status = Na, this._forEachChild(n => { n.enable({ ...t, onlySelf: !0 }) }), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }), this._updateAncestors({ ...t, skipPristineCheck: i }), this._onDisabledChange.forEach(n => n(!1)) } _updateAncestors(t) { this._parent && !t.onlySelf && (this._parent.updateValueAndValidity(t), t.skipPristineCheck || this._parent._updatePristine(), this._parent._updateTouched()) } setParent(t) { this._parent = t } getRawValue() { return this.value } updateValueAndValidity(t = {}) { this._setInitialStatus(), this._updateValue(), this.enabled && (this._cancelExistingSubscription(), this.errors = this._runValidator(), this.status = this._calculateStatus(), (this.status === Na || this.status === ao) && this._runAsyncValidator(t.emitEvent)), !1 !== t.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._parent && !t.onlySelf && this._parent.updateValueAndValidity(t) } _updateTreeValidity(t = { emitEvent: !0 }) { this._forEachChild(i => i._updateTreeValidity(t)), this.updateValueAndValidity({ onlySelf: !0, emitEvent: t.emitEvent }) } _setInitialStatus() { this.status = this._allControlsDisabled() ? Aa : Na } _runValidator() { return this.validator ? this.validator(this) : null } _runAsyncValidator(t) { if (this.asyncValidator) { this.status = ao, this._hasOwnPendingAsyncValidator = !0; const i = LD(this.asyncValidator(this)); this._asyncValidationSubscription = i.subscribe(n => { this._hasOwnPendingAsyncValidator = !1, this.setErrors(n, { emitEvent: t }) }) } } _cancelExistingSubscription() { this._asyncValidationSubscription && (this._asyncValidationSubscription.unsubscribe(), this._hasOwnPendingAsyncValidator = !1) } setErrors(t, i = {}) { this.errors = t, this._updateControlsErrors(!1 !== i.emitEvent) } get(t) { let i = t; return null == i || (Array.isArray(i) || (i = i.split(".")), 0 === i.length) ? null : i.reduce((n, r) => n && n._find(r), this) } getError(t, i) { const n = i ? this.get(i) : this; return n && n.errors ? n.errors[t] : null } hasError(t, i) { return !!this.getError(t, i) } get root() { let t = this; for (; t._parent;)t = t._parent; return t } _updateControlsErrors(t) { this.status = this._calculateStatus(), t && this.statusChanges.emit(this.status), this._parent && this._parent._updateControlsErrors(t) } _initObservables() { this.valueChanges = new Y, this.statusChanges = new Y } _calculateStatus() { return this._allControlsDisabled() ? Aa : this.errors ? tu : this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(ao) ? ao : this._anyControlsHaveStatus(tu) ? tu : Na } _anyControlsHaveStatus(t) { return this._anyControls(i => i.status === t) } _anyControlsDirty() { return this._anyControls(t => t.dirty) } _anyControlsTouched() { return this._anyControls(t => t.touched) } _updatePristine(t = {}) { this.pristine = !this._anyControlsDirty(), this._parent && !t.onlySelf && this._parent._updatePristine(t) } _updateTouched(t = {}) { this.touched = this._anyControlsTouched(), this._parent && !t.onlySelf && this._parent._updateTouched(t) } _registerOnCollectionChange(t) { this._onCollectionChange = t } _setUpdateStrategy(t) { nu(t) && null != t.updateOn && (this._updateOn = t.updateOn) } _parentMarkedDirty(t) { return !t && !(!this._parent || !this._parent.dirty) && !this._parent._anyControlsDirty() } _find(t) { return null } _assignValidators(t) { this._rawValidators = Array.isArray(t) ? t.slice() : t, this._composedValidatorFn = function pL(e) { return Array.isArray(e) ? gp(e) : e || null }(this._rawValidators) } _assignAsyncValidators(t) { this._rawAsyncValidators = Array.isArray(t) ? t.slice() : t, this._composedAsyncValidatorFn = function gL(e) { return Array.isArray(e) ? _p(e) : e || null }(this._rawAsyncValidators) } } class Hr extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } registerControl(t, i) { return this.controls[t] ? this.controls[t] : (this.controls[t] = i, i.setParent(this), i._registerOnCollectionChange(this._onCollectionChange), i) } addControl(t, i, n = {}) { this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } removeControl(t, i = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } setControl(t, i, n = {}) { this.controls[t] && this.controls[t]._registerOnCollectionChange(() => { }), delete this.controls[t], i && this.registerControl(t, i), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } contains(t) { return this.controls.hasOwnProperty(t) && this.controls[t].enabled } setValue(t, i = {}) { ew(this, 0, t), Object.keys(t).forEach(n => { XD(this, !0, n), this.controls[n].setValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (Object.keys(t).forEach(n => { const r = this.controls[n]; r && r.patchValue(t[n], { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = {}, i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this._reduceChildren({}, (t, i, n) => (t[n] = i.getRawValue(), t)) } _syncPendingControls() { let t = this._reduceChildren(!1, (i, n) => !!n._syncPendingControls() || i); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { Object.keys(this.controls).forEach(i => { const n = this.controls[i]; n && t(n, i) }) } _setUpControls() { this._forEachChild(t => { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) }) } _updateValue() { this.value = this._reduceValue() } _anyControls(t) { for (const [i, n] of Object.entries(this.controls)) if (this.contains(i) && t(n)) return !0; return !1 } _reduceValue() { return this._reduceChildren({}, (i, n, r) => ((n.enabled || this.disabled) && (i[r] = n.value), i)) } _reduceChildren(t, i) { let n = t; return this._forEachChild((r, s) => { n = i(n, r, s) }), n } _allControlsDisabled() { for (const t of Object.keys(this.controls)) if (this.controls[t].enabled) return !1; return Object.keys(this.controls).length > 0 || this.disabled } _find(t) { return this.controls.hasOwnProperty(t) ? this.controls[t] : null } } class tw extends Hr { } const Ur = new W("CallSetDisabledState", { providedIn: "root", factory: () => Oa }), Oa = "always"; function xa(e, t, i = Oa) { wp(e, t), t.valueAccessor.writeValue(e.value), (e.disabled || "always" === i) && t.valueAccessor.setDisabledState?.(e.disabled), function mL(e, t) { t.valueAccessor.registerOnChange(i => { e._pendingValue = i, e._pendingChange = !0, e._pendingDirty = !0, "change" === e.updateOn && nw(e, t) }) }(e, t), function yL(e, t) { const i = (n, r) => { t.valueAccessor.writeValue(n), r && t.viewToModelUpdate(n) }; e.registerOnChange(i), t._registerOnDestroy(() => { e._unregisterOnChange(i) }) }(e, t), function vL(e, t) { t.valueAccessor.registerOnTouched(() => { e._pendingTouched = !0, "blur" === e.updateOn && e._pendingChange && nw(e, t), "submit" !== e.updateOn && e.markAsTouched() }) }(e, t), function _L(e, t) { if (t.valueAccessor.setDisabledState) { const i = n => { t.valueAccessor.setDisabledState(n) }; e.registerOnDisabledChange(i), t._registerOnDestroy(() => { e._unregisterOnDisabledChange(i) }) } }(e, t) } function su(e, t, i = !0) { const n = () => { }; t.valueAccessor && (t.valueAccessor.registerOnChange(n), t.valueAccessor.registerOnTouched(n)), au(e, t), e && (t._invokeOnDestroyCallbacks(), e._registerOnCollectionChange(() => { })) } function ou(e, t) { e.forEach(i => { i.registerOnValidatorChange && i.registerOnValidatorChange(t) }) } function wp(e, t) { const i = GD(e); null !== t.validator ? e.setValidators($D(i, t.validator)) : "function" == typeof i && e.setValidators([i]); const n = zD(e); null !== t.asyncValidator ? e.setAsyncValidators($D(n, t.asyncValidator)) : "function" == typeof n && e.setAsyncValidators([n]); const r = () => e.updateValueAndValidity(); ou(t._rawValidators, r), ou(t._rawAsyncValidators, r) } function au(e, t) { let i = !1; if (null !== e) { if (null !== t.validator) { const r = GD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.validator); s.length !== r.length && (i = !0, e.setValidators(s)) } } if (null !== t.asyncValidator) { const r = zD(e); if (Array.isArray(r) && r.length > 0) { const s = r.filter(o => o !== t.asyncValidator); s.length !== r.length && (i = !0, e.setAsyncValidators(s)) } } } const n = () => { }; return ou(t._rawValidators, n), ou(t._rawAsyncValidators, n), i } function nw(e, t) { e._pendingDirty && e.markAsDirty(), e.setValue(e._pendingValue, { emitModelToViewChange: !1 }), t.viewToModelUpdate(e._pendingValue), e._pendingChange = !1 } function sw(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) } function ow(e) { return "object" == typeof e && null !== e && 2 === Object.keys(e).length && "value" in e && "disabled" in e } const jr = class extends iu { constructor(t = null, i, n) { super(bp(i), Dp(n, i)), this.defaultValue = null, this._onChange = [], this._pendingChange = !1, this._applyFormState(t), this._setUpdateStrategy(i), this._initObservables(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }), nu(i) && (i.nonNullable || i.initialValueIsDefault) && (this.defaultValue = ow(t) ? t.value : t) } setValue(t, i = {}) { this.value = this._pendingValue = t, this._onChange.length && !1 !== i.emitModelToViewChange && this._onChange.forEach(n => n(this.value, !1 !== i.emitViewToModelChange)), this.updateValueAndValidity(i) } patchValue(t, i = {}) { this.setValue(t, i) } reset(t = this.defaultValue, i = {}) { this._applyFormState(t), this.markAsPristine(i), this.markAsUntouched(i), this.setValue(this.value, i), this._pendingChange = !1 } _updateValue() { } _anyControls(t) { return !1 } _allControlsDisabled() { return this.disabled } registerOnChange(t) { this._onChange.push(t) } _unregisterOnChange(t) { sw(this._onChange, t) } registerOnDisabledChange(t) { this._onDisabledChange.push(t) } _unregisterOnDisabledChange(t) { sw(this._onDisabledChange, t) } _forEachChild(t) { } _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(t) { ow(t) ? (this.value = this._pendingValue = t.value, t.disabled ? this.disable({ onlySelf: !0, emitEvent: !1 }) : this.enable({ onlySelf: !0, emitEvent: !1 })) : this.value = this._pendingValue = t } }; let dw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275dir = k({ type: e, selectors: [["form", 3, "ngNoForm", "", 3, "ngNativeValidate", ""]], hostAttrs: ["novalidate", ""] }), t })(), hw = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const Mp = new W("NgModelWithFormControlWarning"), RL = { provide: hn, useExisting: ae(() => lu) }; let lu = (() => { var e; class t extends hn { constructor(n, r, s) { super(), this.callSetDisabledState = s, this.submitted = !1, this._onCollectionChange = () => this._updateDomValue(), this.directives = [], this.form = null, this.ngSubmit = new Y, this._setValidators(n), this._setAsyncValidators(r) } ngOnChanges(n) { this._checkFormPresent(), n.hasOwnProperty("form") && (this._updateValidators(), this._updateDomValue(), this._updateRegistrations(), this._oldForm = this.form) } ngOnDestroy() { this.form && (au(this.form, this), this.form._onCollectionChange === this._onCollectionChange && this.form._registerOnCollectionChange(() => { })) } get formDirective() { return this } get control() { return this.form } get path() { return [] } addControl(n) { const r = this.form.get(n.path); return xa(r, n, this.callSetDisabledState), r.updateValueAndValidity({ emitEvent: !1 }), this.directives.push(n), r } getControl(n) { return this.form.get(n.path) } removeControl(n) { su(n.control || null, n, !1), function CL(e, t) { const i = e.indexOf(t); i > -1 && e.splice(i, 1) }(this.directives, n) } addFormGroup(n) { this._setUpFormContainer(n) } removeFormGroup(n) { this._cleanUpFormContainer(n) } getFormGroup(n) { return this.form.get(n.path) } addFormArray(n) { this._setUpFormContainer(n) } removeFormArray(n) { this._cleanUpFormContainer(n) } getFormArray(n) { return this.form.get(n.path) } updateModel(n, r) { this.form.get(n.path).setValue(r) } onSubmit(n) { return this.submitted = !0, function rw(e, t) { e._syncPendingControls(), t.forEach(i => { const n = i.control; "submit" === n.updateOn && n._pendingChange && (i.viewToModelUpdate(n._pendingValue), n._pendingChange = !1) }) }(this.form, this.directives), this.ngSubmit.emit(n), "dialog" === n?.target?.method } onReset() { this.resetForm() } resetForm(n = void 0) { this.form.reset(n), this.submitted = !1 } _updateDomValue() { this.directives.forEach(n => { const r = n.control, s = this.form.get(n.path); r !== s && (su(r || null, n), (e => e instanceof jr)(s) && (xa(s, n, this.callSetDisabledState), n.control = s)) }), this.form._updateTreeValidity({ emitEvent: !1 }) } _setUpFormContainer(n) { const r = this.form.get(n.path); (function iw(e, t) { wp(e, t) })(r, n), r.updateValueAndValidity({ emitEvent: !1 }) } _cleanUpFormContainer(n) { if (this.form) { const r = this.form.get(n.path); r && function bL(e, t) { return au(e, t) }(r, n) && r.updateValueAndValidity({ emitEvent: !1 }) } } _updateRegistrations() { this.form._registerOnCollectionChange(this._onCollectionChange), this._oldForm && this._oldForm._registerOnCollectionChange(() => { }) } _updateValidators() { wp(this.form, this), this._oldForm && au(this._oldForm, this) } _checkFormPresent() { } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(zt, 10), v(hr, 10), v(Ur, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formGroup", ""]], hostBindings: function (n, r) { 1 & n && ce("submit", function (o) { return r.onSubmit(o) })("reset", function () { return r.onReset() }) }, inputs: { form: ["formGroup", "form"] }, outputs: { ngSubmit: "ngSubmit" }, exportAs: ["ngForm"], features: [$e([RL]), Oe, sn] }), t })(); const kL = { provide: pr, useExisting: ae(() => Ap) }; let Ap = (() => { var e; class t extends pr { set isDisabled(n) { } constructor(n, r, s, o, a) { super(), this._ngModelWarningConfig = a, this._added = !1, this.name = null, this.update = new Y, this._ngModelWarningSent = !1, this._parent = n, this._setValidators(r), this._setAsyncValidators(s), this.valueAccessor = function Sp(e, t) { if (!t) return null; let i, n, r; return Array.isArray(t), t.forEach(s => { s.constructor === Qc ? i = s : function wL(e) { return Object.getPrototypeOf(e.constructor) === Vr }(s) ? n = s : r = s }), r || n || i || null }(0, o) } ngOnChanges(n) { this._added || this._setUpControl(), function Ep(e, t) { if (!e.hasOwnProperty("model")) return !1; const i = e.model; return !!i.isFirstChange() || !Object.is(t, i.currentValue) }(n, this.viewModel) && (this.viewModel = this.model, this.formDirective.updateModel(this, this.model)) } ngOnDestroy() { this.formDirective && this.formDirective.removeControl(this) } viewToModelUpdate(n) { this.viewModel = n, this.update.emit(n) } get path() { return function ru(e, t) { return [...t.path, e] }(null == this.name ? this.name : this.name.toString(), this._parent) } get formDirective() { return this._parent ? this._parent.formDirective : null } _checkParentType() { } _setUpControl() { this._checkParentType(), this.control = this.formDirective.addControl(this), this._added = !0 } } return (e = t)._ngModelWarningSentOnce = !1, e.\u0275fac = function (n) { return new (n || e)(v(hn, 13), v(zt, 10), v(hr, 10), v(Kn, 10), v(Mp, 8)) }, e.\u0275dir = k({ type: e, selectors: [["", "formControlName", ""]], inputs: { name: ["formControlName", "name"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, features: [$e([kL]), Oe, sn] }), t })(); const LL = { provide: Kn, useExisting: ae(() => cu), multi: !0 }; function vw(e, t) { return null == e ? `${t}` : (t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let cu = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { this.value = n; const s = vw(this._getOptionId(n), n); this.setProperty("value", s) } registerOnChange(n) { this.onChange = r => { this.value = this._getOptionValue(r), n(this.value) } } _registerOption() { return (this._idCounter++).toString() } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r), n)) return r; return null } _getOptionValue(n) { const r = function BL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r) : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "formControlName", "", 3, "multiple", ""], ["select", "formControl", "", 3, "multiple", ""], ["select", "ngModel", "", 3, "multiple", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target.value) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([LL]), Oe] }), t })(), yw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption()) } set ngValue(n) { null != this._select && (this._select._optionMap.set(this.id, n), this._setElementValue(vw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._setElementValue(n), this._select && this._select.writeValue(this._select.value) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(cu, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(); const VL = { provide: Kn, useExisting: ae(() => Op), multi: !0 }; function bw(e, t) { return null == e ? `${t}` : ("string" == typeof t && (t = `'${t}'`), t && "object" == typeof t && (t = "Object"), `${e}: ${t}`.slice(0, 50)) } let Op = (() => { var e; class t extends Vr { constructor() { super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is } set compareWith(n) { this._compareWith = n } writeValue(n) { let r; if (this.value = n, Array.isArray(n)) { const s = n.map(o => this._getOptionId(o)); r = (o, a) => { o._setSelected(s.indexOf(a.toString()) > -1) } } else r = (s, o) => { s._setSelected(!1) }; this._optionMap.forEach(r) } registerOnChange(n) { this.onChange = r => { const s = [], o = r.selectedOptions; if (void 0 !== o) { const a = o; for (let l = 0; l < a.length; l++) { const u = this._getOptionValue(a[l].value); s.push(u) } } else { const a = r.options; for (let l = 0; l < a.length; l++) { const c = a[l]; if (c.selected) { const u = this._getOptionValue(c.value); s.push(u) } } } this.value = s, n(s) } } _registerOption(n) { const r = (this._idCounter++).toString(); return this._optionMap.set(r, n), r } _getOptionId(n) { for (const r of this._optionMap.keys()) if (this._compareWith(this._optionMap.get(r)._value, n)) return r; return null } _getOptionValue(n) { const r = function HL(e) { return e.split(":")[0] }(n); return this._optionMap.has(r) ? this._optionMap.get(r)._value : n } } return (e = t).\u0275fac = function () { let i; return function (r) { return (i || (i = St(e)))(r || e) } }(), e.\u0275dir = k({ type: e, selectors: [["select", "multiple", "", "formControlName", ""], ["select", "multiple", "", "formControl", ""], ["select", "multiple", "", "ngModel", ""]], hostBindings: function (n, r) { 1 & n && ce("change", function (o) { return r.onChange(o.target) })("blur", function () { return r.onTouched() }) }, inputs: { compareWith: "compareWith" }, features: [$e([VL]), Oe] }), t })(), Dw = (() => { var e; class t { constructor(n, r, s) { this._element = n, this._renderer = r, this._select = s, this._select && (this.id = this._select._registerOption(this)) } set ngValue(n) { null != this._select && (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) } set value(n) { this._select ? (this._value = n, this._setElementValue(bw(this.id, n)), this._select.writeValue(this._select.value)) : this._setElementValue(n) } _setElementValue(n) { this._renderer.setProperty(this._element.nativeElement, "value", n) } _setSelected(n) { this._renderer.setProperty(this._element.nativeElement, "selected", n) } ngOnDestroy() { this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value)) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn), v(Op, 9)) }, e.\u0275dir = k({ type: e, selectors: [["option"]], inputs: { ngValue: "ngValue", value: "value" } }), t })(), Ow = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [hw] }), t })(); class xw extends iu { constructor(t, i, n) { super(bp(i), Dp(n, i)), this.controls = t, this._initObservables(), this._setUpdateStrategy(i), this._setUpControls(), this.updateValueAndValidity({ onlySelf: !0, emitEvent: !!this.asyncValidator }) } at(t) { return this.controls[this._adjustIndex(t)] } push(t, i = {}) { this.controls.push(t), this._registerControl(t), this.updateValueAndValidity({ emitEvent: i.emitEvent }), this._onCollectionChange() } insert(t, i, n = {}) { this.controls.splice(t, 0, i), this._registerControl(i), this.updateValueAndValidity({ emitEvent: n.emitEvent }) } removeAt(t, i = {}) { let n = this._adjustIndex(t); n < 0 && (n = 0), this.controls[n] && this.controls[n]._registerOnCollectionChange(() => { }), this.controls.splice(n, 1), this.updateValueAndValidity({ emitEvent: i.emitEvent }) } setControl(t, i, n = {}) { let r = this._adjustIndex(t); r < 0 && (r = 0), this.controls[r] && this.controls[r]._registerOnCollectionChange(() => { }), this.controls.splice(r, 1), i && (this.controls.splice(r, 0, i), this._registerControl(i)), this.updateValueAndValidity({ emitEvent: n.emitEvent }), this._onCollectionChange() } get length() { return this.controls.length } setValue(t, i = {}) { ew(this, 0, t), t.forEach((n, r) => { XD(this, !1, r), this.at(r).setValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i) } patchValue(t, i = {}) { null != t && (t.forEach((n, r) => { this.at(r) && this.at(r).patchValue(n, { onlySelf: !0, emitEvent: i.emitEvent }) }), this.updateValueAndValidity(i)) } reset(t = [], i = {}) { this._forEachChild((n, r) => { n.reset(t[r], { onlySelf: !0, emitEvent: i.emitEvent }) }), this._updatePristine(i), this._updateTouched(i), this.updateValueAndValidity(i) } getRawValue() { return this.controls.map(t => t.getRawValue()) } clear(t = {}) { this.controls.length < 1 || (this._forEachChild(i => i._registerOnCollectionChange(() => { })), this.controls.splice(0), this.updateValueAndValidity({ emitEvent: t.emitEvent })) } _adjustIndex(t) { return t < 0 ? t + this.length : t } _syncPendingControls() { let t = this.controls.reduce((i, n) => !!n._syncPendingControls() || i, !1); return t && this.updateValueAndValidity({ onlySelf: !0 }), t } _forEachChild(t) { this.controls.forEach((i, n) => { t(i, n) }) } _updateValue() { this.value = this.controls.filter(t => t.enabled || this.disabled).map(t => t.value) } _anyControls(t) { return this.controls.some(i => i.enabled && t(i)) } _setUpControls() { this._forEachChild(t => this._registerControl(t)) } _allControlsDisabled() { for (const t of this.controls) if (t.enabled) return !1; return this.controls.length > 0 || this.disabled } _registerControl(t) { t.setParent(this), t._registerOnCollectionChange(this._onCollectionChange) } _find(t) { return this.at(t) ?? null } } function Rw(e) { return !!e && (void 0 !== e.asyncValidators || void 0 !== e.validators || void 0 !== e.updateOn) } let ZL = (() => { var e; class t { constructor() { this.useNonNullable = !1 } get nonNullable() { const n = new t; return n.useNonNullable = !0, n } group(n, r = null) { const s = this._reduceControls(n); let o = {}; return Rw(r) ? o = r : null !== r && (o.validators = r.validator, o.asyncValidators = r.asyncValidator), new Hr(s, o) } record(n, r = null) { const s = this._reduceControls(n); return new tw(s, r) } control(n, r, s) { let o = {}; return this.useNonNullable ? (Rw(r) ? o = r : (o.validators = r, o.asyncValidators = s), new jr(n, { ...o, nonNullable: !0 })) : new jr(n, r, s) } array(n, r, s) { const o = n.map(a => this._createControl(a)); return new xw(o, r, s) } _reduceControls(n) { const r = {}; return Object.keys(n).forEach(s => { r[s] = this._createControl(n[s]) }), r } _createControl(n) { return n instanceof jr || n instanceof iu ? n : Array.isArray(n) ? this.control(n[0], n.length > 1 ? n[1] : null, n.length > 2 ? n[2] : null) : this.control(n) } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), JL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(), QL = (() => { var e; class t { static withConfig(n) { return { ngModule: t, providers: [{ provide: Mp, useValue: n.warnOnNgModelWithFormControl ?? "always" }, { provide: Ur, useValue: n.callSetDisabledState ?? Oa }] } } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [Ow] }), t })(); var KL = { left: "right", right: "left", bottom: "top", top: "bottom" }; function uu(e) { return e.replace(/left|right|bottom|top/g, function (t) { return KL[t] }) } function ki(e) { return e.split("-")[0] } var XL = { start: "end", end: "start" }; function Pw(e) { return e.replace(/start|end/g, function (t) { return XL[t] }) } var Vn = "top", di = "bottom", fi = "right", Hn = "left", Rp = "auto", Pa = [Vn, di, fi, Hn], lo = "start", Fa = "end", Fw = "viewport", ka = "popper", kw = Pa.reduce(function (e, t) { return e.concat([t + "-" + lo, t + "-" + Fa]) }, []), Lw = [].concat(Pa, [Rp]).reduce(function (e, t) { return e.concat([t, t + "-" + lo, t + "-" + Fa]) }, []), dB = ["beforeRead", "read", "afterRead", "beforeMain", "main", "afterMain", "beforeWrite", "write", "afterWrite"]; function Un(e) { if (null == e) return window; if ("[object Window]" !== e.toString()) { var t = e.ownerDocument; return t && t.defaultView || window } return e } function Gr(e) { return e instanceof Un(e).Element || e instanceof Element } function Xn(e) { return e instanceof Un(e).HTMLElement || e instanceof HTMLElement } function Pp(e) { return !(typeof ShadowRoot > "u") && (e instanceof Un(e).ShadowRoot || e instanceof ShadowRoot) } function gr(e) { return ((Gr(e) ? e.ownerDocument : e.document) || window.document).documentElement } var zr = Math.max, du = Math.min, co = Math.round; function Fp() { var e = navigator.userAgentData; return null != e && e.brands && Array.isArray(e.brands) ? e.brands.map(function (t) { return t.brand + "/" + t.version }).join(" ") : navigator.userAgent } function Bw() { return !/^((?!chrome|android).)*safari/i.test(Fp()) } function uo(e, t, i) { void 0 === t && (t = !1), void 0 === i && (i = !1); var n = e.getBoundingClientRect(), r = 1, s = 1; t && Xn(e) && (r = e.offsetWidth > 0 && co(n.width) / e.offsetWidth || 1, s = e.offsetHeight > 0 && co(n.height) / e.offsetHeight || 1); var a = (Gr(e) ? Un(e) : window).visualViewport, l = !Bw() && i, c = (n.left + (l && a ? a.offsetLeft : 0)) / r, u = (n.top + (l && a ? a.offsetTop : 0)) / s, h = n.width / r, g = n.height / s; return { width: h, height: g, top: u, right: c + h, bottom: u + g, left: c, x: c, y: u } } function kp(e) { var t = Un(e); return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset } } function Lp(e) { return uo(gr(e)).left + kp(e).scrollLeft } function Yi(e) { return Un(e).getComputedStyle(e) } function Li(e) { return e ? (e.nodeName || "").toLowerCase() : null } function fu(e) { return "html" === Li(e) ? e : e.assignedSlot || e.parentNode || (Pp(e) ? e.host : null) || gr(e) } function Bp(e) { var t = Yi(e); return /auto|scroll|overlay|hidden/.test(t.overflow + t.overflowY + t.overflowX) } function Vw(e) { return ["html", "body", "#document"].indexOf(Li(e)) >= 0 ? e.ownerDocument.body : Xn(e) && Bp(e) ? e : Vw(fu(e)) } function La(e, t) { var i; void 0 === t && (t = []); var n = Vw(e), r = n === (null == (i = e.ownerDocument) ? void 0 : i.body), s = Un(n), o = r ? [s].concat(s.visualViewport || [], Bp(n) ? n : []) : n, a = t.concat(o); return r ? a : a.concat(La(fu(o))) } function pB(e) { return ["table", "td", "th"].indexOf(Li(e)) >= 0 } function Hw(e) { return Xn(e) && "fixed" !== Yi(e).position ? e.offsetParent : null } function Ba(e) { for (var t = Un(e), i = Hw(e); i && pB(i) && "static" === Yi(i).position;)i = Hw(i); return i && ("html" === Li(i) || "body" === Li(i) && "static" === Yi(i).position) ? t : i || function gB(e) { var t = /firefox/i.test(Fp()); if (/Trident/i.test(Fp()) && Xn(e) && "fixed" === Yi(e).position) return null; var r = fu(e); for (Pp(r) && (r = r.host); Xn(r) && ["html", "body"].indexOf(Li(r)) < 0;) { var s = Yi(r); if ("none" !== s.transform || "none" !== s.perspective || "paint" === s.contain || -1 !== ["transform", "perspective"].indexOf(s.willChange) || t && "filter" === s.willChange || t && s.filter && "none" !== s.filter) return r; r = r.parentNode } return null }(e) || t } function Uw(e, t) { var i = t.getRootNode && t.getRootNode(); if (e.contains(t)) return !0; if (i && Pp(i)) { var n = t; do { if (n && e.isSameNode(n)) return !0; n = n.parentNode || n.host } while (n) } return !1 } function Vp(e) { return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }) } function jw(e, t, i) { return t === Fw ? Vp(function fB(e, t) { var i = Un(e), n = gr(e), r = i.visualViewport, s = n.clientWidth, o = n.clientHeight, a = 0, l = 0; if (r) { s = r.width, o = r.height; var c = Bw(); (c || !c && "fixed" === t) && (a = r.offsetLeft, l = r.offsetTop) } return { width: s, height: o, x: a + Lp(e), y: l } }(e, i)) : Gr(t) ? function _B(e, t) { var i = uo(e, !1, "fixed" === t); return i.top = i.top + e.clientTop, i.left = i.left + e.clientLeft, i.bottom = i.top + e.clientHeight, i.right = i.left + e.clientWidth, i.width = e.clientWidth, i.height = e.clientHeight, i.x = i.left, i.y = i.top, i }(t, i) : Vp(function hB(e) { var t, i = gr(e), n = kp(e), r = null == (t = e.ownerDocument) ? void 0 : t.body, s = zr(i.scrollWidth, i.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), o = zr(i.scrollHeight, i.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), a = -n.scrollLeft + Lp(e), l = -n.scrollTop; return "rtl" === Yi(r || i).direction && (a += zr(i.clientWidth, r ? r.clientWidth : 0) - s), { width: s, height: o, x: a, y: l } }(gr(e))) } function fo(e) { return e.split("-")[1] } function Hp(e) { return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y" } function $w(e) { var l, t = e.reference, i = e.element, n = e.placement, r = n ? ki(n) : null, s = n ? fo(n) : null, o = t.x + t.width / 2 - i.width / 2, a = t.y + t.height / 2 - i.height / 2; switch (r) { case Vn: l = { x: o, y: t.y - i.height }; break; case di: l = { x: o, y: t.y + t.height }; break; case fi: l = { x: t.x + t.width, y: a }; break; case Hn: l = { x: t.x - i.width, y: a }; break; default: l = { x: t.x, y: t.y } }var c = r ? Hp(r) : null; if (null != c) { var u = "y" === c ? "height" : "width"; switch (s) { case lo: l[c] = l[c] - (t[u] / 2 - i[u] / 2); break; case Fa: l[c] = l[c] + (t[u] / 2 - i[u] / 2) } } return l } function zw(e) { return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e) } function Ww(e, t) { return t.reduce(function (i, n) { return i[n] = e, i }, {}) } function Up(e, t) { void 0 === t && (t = {}); var n = t.placement, r = void 0 === n ? e.placement : n, s = t.strategy, o = void 0 === s ? e.strategy : s, a = t.boundary, l = void 0 === a ? "clippingParents" : a, c = t.rootBoundary, u = void 0 === c ? Fw : c, h = t.elementContext, g = void 0 === h ? ka : h, _ = t.altBoundary, y = void 0 !== _ && _, b = t.padding, D = void 0 === b ? 0 : b, T = zw("number" != typeof D ? D : Ww(D, Pa)), P = e.rects.popper, O = e.elements[y ? g === ka ? "reference" : ka : g], V = function vB(e, t, i, n) { var r = "clippingParents" === t ? function mB(e) { var t = La(fu(e)), n = ["absolute", "fixed"].indexOf(Yi(e).position) >= 0 && Xn(e) ? Ba(e) : e; return Gr(n) ? t.filter(function (r) { return Gr(r) && Uw(r, n) && "body" !== Li(r) }) : [] }(e) : [].concat(t), s = [].concat(r, [i]), a = s.reduce(function (l, c) { var u = jw(e, c, n); return l.top = zr(u.top, l.top), l.right = du(u.right, l.right), l.bottom = du(u.bottom, l.bottom), l.left = zr(u.left, l.left), l }, jw(e, s[0], n)); return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a }(Gr(O) ? O : O.contextElement || gr(e.elements.popper), l, u, o), J = uo(e.elements.reference), ue = $w({ reference: J, element: P, strategy: "absolute", placement: r }), _e = Vp(Object.assign({}, P, ue)), lt = g === ka ? _e : J, Dt = { top: V.top - lt.top + T.top, bottom: lt.bottom - V.bottom + T.bottom, left: V.left - lt.left + T.left, right: lt.right - V.right + T.right }, Bt = e.modifiersData.offset; if (g === ka && Bt) { var pi = Bt[r]; Object.keys(Dt).forEach(function (gn) { var Xr = [fi, di].indexOf(gn) >= 0 ? 1 : -1, es = [Vn, di].indexOf(gn) >= 0 ? "y" : "x"; Dt[gn] += pi[es] * Xr }) } return Dt } const wB = { name: "flip", enabled: !0, phase: "main", fn: function DB(e) { var t = e.state, i = e.options, n = e.name; if (!t.modifiersData[n]._skip) { for (var r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 === o || o, l = i.fallbackPlacements, c = i.padding, u = i.boundary, h = i.rootBoundary, g = i.altBoundary, _ = i.flipVariations, y = void 0 === _ || _, b = i.allowedAutoPlacements, D = t.options.placement, T = ki(D), P = l || (T !== D && y ? function bB(e) { if (ki(e) === Rp) return []; var t = uu(e); return [Pw(e), t, Pw(t)] }(D) : [uu(D)]), O = [D].concat(P).reduce(function (mo, _r) { return mo.concat(ki(_r) === Rp ? function yB(e, t) { void 0 === t && (t = {}); var r = t.boundary, s = t.rootBoundary, o = t.padding, a = t.flipVariations, l = t.allowedAutoPlacements, c = void 0 === l ? Lw : l, u = fo(t.placement), h = u ? a ? kw : kw.filter(function (y) { return fo(y) === u }) : Pa, g = h.filter(function (y) { return c.indexOf(y) >= 0 }); 0 === g.length && (g = h); var _ = g.reduce(function (y, b) { return y[b] = Up(e, { placement: b, boundary: r, rootBoundary: s, padding: o })[ki(b)], y }, {}); return Object.keys(_).sort(function (y, b) { return _[y] - _[b] }) }(t, { placement: _r, boundary: u, rootBoundary: h, padding: c, flipVariations: y, allowedAutoPlacements: b }) : _r) }, []), V = t.rects.reference, J = t.rects.popper, ue = new Map, _e = !0, lt = O[0], Dt = 0; Dt < O.length; Dt++) { var Bt = O[Dt], pi = ki(Bt), gn = fo(Bt) === lo, Xr = [Vn, di].indexOf(pi) >= 0, es = Xr ? "width" : "height", jn = Up(t, { placement: Bt, boundary: u, rootBoundary: h, altBoundary: g, padding: c }), gi = Xr ? gn ? fi : Hn : gn ? di : Vn; V[es] > J[es] && (gi = uu(gi)); var Tu = uu(gi), ts = []; if (s && ts.push(jn[pi] <= 0), a && ts.push(jn[gi] <= 0, jn[Tu] <= 0), ts.every(function (mo) { return mo })) { lt = Bt, _e = !1; break } ue.set(Bt, ts) } if (_e) for (var og = function (_r) { var Za = O.find(function (Nu) { var ns = ue.get(Nu); if (ns) return ns.slice(0, _r).every(function (ag) { return ag }) }); if (Za) return lt = Za, "break" }, Ya = y ? 3 : 1; Ya > 0 && "break" !== og(Ya); Ya--); t.placement !== lt && (t.modifiersData[n]._skip = !0, t.placement = lt, t.reset = !0) } }, requiresIfExists: ["offset"], data: { _skip: !1 } }; function Va(e, t, i) { return zr(e, du(t, i)) } function jp(e) { var t = uo(e), i = e.offsetWidth, n = e.offsetHeight; return Math.abs(t.width - i) <= 1 && (i = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), { x: e.offsetLeft, y: e.offsetTop, width: i, height: n } } const TB = { name: "preventOverflow", enabled: !0, phase: "main", fn: function SB(e) { var t = e.state, i = e.options, n = e.name, r = i.mainAxis, s = void 0 === r || r, o = i.altAxis, a = void 0 !== o && o, g = i.tether, _ = void 0 === g || g, y = i.tetherOffset, b = void 0 === y ? 0 : y, D = Up(t, { boundary: i.boundary, rootBoundary: i.rootBoundary, padding: i.padding, altBoundary: i.altBoundary }), T = ki(t.placement), C = fo(t.placement), P = !C, O = Hp(T), V = function CB(e) { return "x" === e ? "y" : "x" }(O), J = t.modifiersData.popperOffsets, ue = t.rects.reference, _e = t.rects.popper, lt = "function" == typeof b ? b(Object.assign({}, t.rects, { placement: t.placement })) : b, Dt = "number" == typeof lt ? { mainAxis: lt, altAxis: lt } : Object.assign({ mainAxis: 0, altAxis: 0 }, lt), Bt = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, pi = { x: 0, y: 0 }; if (J) { if (s) { var gn, Xr = "y" === O ? Vn : Hn, es = "y" === O ? di : fi, jn = "y" === O ? "height" : "width", gi = J[O], Tu = gi + D[Xr], ts = gi - D[es], Mu = _ ? -_e[jn] / 2 : 0, og = C === lo ? ue[jn] : _e[jn], Ya = C === lo ? -_e[jn] : -ue[jn], Iu = t.elements.arrow, mo = _ && Iu ? jp(Iu) : { width: 0, height: 0 }, _r = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }, Za = _r[Xr], Nu = _r[es], ns = Va(0, ue[jn], mo[jn]), ag = P ? ue[jn] / 2 - Mu - ns - Za - Dt.mainAxis : og - ns - Za - Dt.mainAxis, aj = P ? -ue[jn] / 2 + Mu + ns + Nu + Dt.mainAxis : Ya + ns + Nu + Dt.mainAxis, lg = t.elements.arrow && Ba(t.elements.arrow), lj = lg ? "y" === O ? lg.clientTop || 0 : lg.clientLeft || 0 : 0, uE = null != (gn = Bt?.[O]) ? gn : 0, uj = gi + aj - uE, dE = Va(_ ? du(Tu, gi + ag - uE - lj) : Tu, gi, _ ? zr(ts, uj) : ts); J[O] = dE, pi[O] = dE - gi } if (a) { var fE, is = J[V], Au = "y" === V ? "height" : "width", hE = is + D["x" === O ? Vn : Hn], pE = is - D["x" === O ? di : fi], cg = -1 !== [Vn, Hn].indexOf(T), gE = null != (fE = Bt?.[V]) ? fE : 0, _E = cg ? hE : is - ue[Au] - _e[Au] - gE + Dt.altAxis, mE = cg ? is + ue[Au] + _e[Au] - gE - Dt.altAxis : pE, vE = _ && cg ? function EB(e, t, i) { var n = Va(e, t, i); return n > i ? i : n }(_E, is, mE) : Va(_ ? _E : hE, is, _ ? mE : pE); J[V] = vE, pi[V] = vE - is } t.modifiersData[n] = pi } }, requiresIfExists: ["offset"] }, AB = { name: "arrow", enabled: !0, phase: "main", fn: function IB(e) { var t, i = e.state, n = e.name, r = e.options, s = i.elements.arrow, o = i.modifiersData.popperOffsets, a = ki(i.placement), l = Hp(a), u = [Hn, fi].indexOf(a) >= 0 ? "height" : "width"; if (s && o) { var h = function (t, i) { return zw("number" != typeof (t = "function" == typeof t ? t(Object.assign({}, i.rects, { placement: i.placement })) : t) ? t : Ww(t, Pa)) }(r.padding, i), g = jp(s), _ = "y" === l ? Vn : Hn, y = "y" === l ? di : fi, b = i.rects.reference[u] + i.rects.reference[l] - o[l] - i.rects.popper[u], D = o[l] - i.rects.reference[l], T = Ba(s), C = T ? "y" === l ? T.clientHeight || 0 : T.clientWidth || 0 : 0, J = C / 2 - g[u] / 2 + (b / 2 - D / 2), ue = Va(h[_], J, C - g[u] - h[y]); i.modifiersData[n] = ((t = {})[l] = ue, t.centerOffset = ue - J, t) } }, effect: function NB(e) { var t = e.state, n = e.options.element, r = void 0 === n ? "[data-popper-arrow]" : n; null != r && ("string" == typeof r && !(r = t.elements.popper.querySelector(r)) || Uw(t.elements.popper, r) && (t.elements.arrow = r)) }, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] }; function PB(e, t, i) { void 0 === i && (i = !1); var n = Xn(t), r = Xn(t) && function RB(e) { var t = e.getBoundingClientRect(), i = co(t.width) / e.offsetWidth || 1, n = co(t.height) / e.offsetHeight || 1; return 1 !== i || 1 !== n }(t), s = gr(t), o = uo(e, r, i), a = { scrollLeft: 0, scrollTop: 0 }, l = { x: 0, y: 0 }; return (n || !n && !i) && (("body" !== Li(t) || Bp(s)) && (a = function xB(e) { return e !== Un(e) && Xn(e) ? function OB(e) { return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop } }(e) : kp(e) }(t)), Xn(t) ? ((l = uo(t, !0)).x += t.clientLeft, l.y += t.clientTop) : s && (l.x = Lp(s))), { x: o.left + a.scrollLeft - l.x, y: o.top + a.scrollTop - l.y, width: o.width, height: o.height } } function FB(e) { var t = new Map, i = new Set, n = []; function r(s) { i.add(s.name), [].concat(s.requires || [], s.requiresIfExists || []).forEach(function (a) { if (!i.has(a)) { var l = t.get(a); l && r(l) } }), n.push(s) } return e.forEach(function (s) { t.set(s.name, s) }), e.forEach(function (s) { i.has(s.name) || r(s) }), n } function LB(e) { var t; return function () { return t || (t = new Promise(function (i) { Promise.resolve().then(function () { t = void 0, i(e()) }) })), t } } var qw = { placement: "bottom", modifiers: [], strategy: "absolute" }; function Yw() { for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)t[i] = arguments[i]; return !t.some(function (n) { return !(n && "function" == typeof n.getBoundingClientRect) }) } function VB(e) { void 0 === e && (e = {}); var i = e.defaultModifiers, n = void 0 === i ? [] : i, r = e.defaultOptions, s = void 0 === r ? qw : r; return function (a, l, c) { void 0 === c && (c = s); var u = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, qw, s), modifiersData: {}, elements: { reference: a, popper: l }, attributes: {}, styles: {} }, h = [], g = !1, _ = { state: u, setOptions: function (T) { var C = "function" == typeof T ? T(u.options) : T; b(), u.options = Object.assign({}, s, u.options, C), u.scrollParents = { reference: Gr(a) ? La(a) : a.contextElement ? La(a.contextElement) : [], popper: La(l) }; var P = function kB(e) { var t = FB(e); return dB.reduce(function (i, n) { return i.concat(t.filter(function (r) { return r.phase === n })) }, []) }(function BB(e) { var t = e.reduce(function (i, n) { var r = i[n.name]; return i[n.name] = r ? Object.assign({}, r, n, { options: Object.assign({}, r.options, n.options), data: Object.assign({}, r.data, n.data) }) : n, i }, {}); return Object.keys(t).map(function (i) { return t[i] }) }([].concat(n, u.options.modifiers))); return u.orderedModifiers = P.filter(function (O) { return O.enabled }), function y() { u.orderedModifiers.forEach(function (D) { var C = D.options, O = D.effect; if ("function" == typeof O) { var V = O({ state: u, name: D.name, instance: _, options: void 0 === C ? {} : C }); h.push(V || function () { }) } }) }(), _.update() }, forceUpdate: function () { if (!g) { var T = u.elements, C = T.reference, P = T.popper; if (Yw(C, P)) { u.rects = { reference: PB(C, Ba(P), "fixed" === u.options.strategy), popper: jp(P) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function (Dt) { return u.modifiersData[Dt.name] = Object.assign({}, Dt.data) }); for (var O = 0; O < u.orderedModifiers.length; O++)if (!0 !== u.reset) { var V = u.orderedModifiers[O], J = V.fn, ue = V.options; "function" == typeof J && (u = J({ state: u, options: void 0 === ue ? {} : ue, name: V.name, instance: _ }) || u) } else u.reset = !1, O = -1 } } }, update: LB(function () { return new Promise(function (D) { _.forceUpdate(), D(u) }) }), destroy: function () { b(), g = !0 } }; if (!Yw(a, l)) return _; function b() { h.forEach(function (D) { return D() }), h = [] } return _.setOptions(c).then(function (D) { !g && c.onFirstUpdate && c.onFirstUpdate(D) }), _ } } var hu = { passive: !0 }, GB = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; function Zw(e) { var t, i = e.popper, n = e.popperRect, r = e.placement, s = e.variation, o = e.offsets, a = e.position, l = e.gpuAcceleration, c = e.adaptive, u = e.roundOffsets, h = e.isFixed, g = o.x, _ = void 0 === g ? 0 : g, y = o.y, b = void 0 === y ? 0 : y, D = "function" == typeof u ? u({ x: _, y: b }) : { x: _, y: b }; _ = D.x, b = D.y; var T = o.hasOwnProperty("x"), C = o.hasOwnProperty("y"), P = Hn, O = Vn, V = window; if (c) { var J = Ba(i), ue = "clientHeight", _e = "clientWidth"; J === Un(i) && "static" !== Yi(J = gr(i)).position && "absolute" === a && (ue = "scrollHeight", _e = "scrollWidth"), (r === Vn || (r === Hn || r === fi) && s === Fa) && (O = di, b -= (h && J === V && V.visualViewport ? V.visualViewport.height : J[ue]) - n.height, b *= l ? 1 : -1), r !== Hn && (r !== Vn && r !== di || s !== Fa) || (P = fi, _ -= (h && J === V && V.visualViewport ? V.visualViewport.width : J[_e]) - n.width, _ *= l ? 1 : -1) } var gn, Bt = Object.assign({ position: a }, c && GB), pi = !0 === u ? function zB(e, t) { var n = e.y, r = t.devicePixelRatio || 1; return { x: co(e.x * r) / r || 0, y: co(n * r) / r || 0 } }({ x: _, y: b }, Un(i)) : { x: _, y: b }; return _ = pi.x, b = pi.y, Object.assign({}, Bt, l ? ((gn = {})[O] = C ? "0" : "", gn[P] = T ? "0" : "", gn.transform = (V.devicePixelRatio || 1) <= 1 ? "translate(" + _ + "px, " + b + "px)" : "translate3d(" + _ + "px, " + b + "px, 0)", gn) : ((t = {})[O] = C ? b + "px" : "", t[P] = T ? _ + "px" : "", t.transform = "", t)) } var QB = VB({ defaultModifiers: [{ name: "eventListeners", enabled: !0, phase: "write", fn: function () { }, effect: function HB(e) { var t = e.state, i = e.instance, n = e.options, r = n.scroll, s = void 0 === r || r, o = n.resize, a = void 0 === o || o, l = Un(t.elements.popper), c = [].concat(t.scrollParents.reference, t.scrollParents.popper); return s && c.forEach(function (u) { u.addEventListener("scroll", i.update, hu) }), a && l.addEventListener("resize", i.update, hu), function () { s && c.forEach(function (u) { u.removeEventListener("scroll", i.update, hu) }), a && l.removeEventListener("resize", i.update, hu) } }, data: {} }, { name: "popperOffsets", enabled: !0, phase: "read", fn: function jB(e) { var t = e.state; t.modifiersData[e.name] = $w({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement }) }, data: {} }, { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: function WB(e) { var t = e.state, i = e.options, n = i.gpuAcceleration, r = void 0 === n || n, s = i.adaptive, o = void 0 === s || s, a = i.roundOffsets, l = void 0 === a || a, c = { placement: ki(t.placement), variation: fo(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: r, isFixed: "fixed" === t.options.strategy }; null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, Zw(Object.assign({}, c, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: l })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, Zw(Object.assign({}, c, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: l })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement }) }, data: {} }, { name: "applyStyles", enabled: !0, phase: "write", fn: function YB(e) { var t = e.state; Object.keys(t.elements).forEach(function (i) { var n = t.styles[i] || {}, r = t.attributes[i] || {}, s = t.elements[i]; !Xn(s) || !Li(s) || (Object.assign(s.style, n), Object.keys(r).forEach(function (o) { var a = r[o]; !1 === a ? s.removeAttribute(o) : s.setAttribute(o, !0 === a ? "" : a) })) }) }, effect: function ZB(e) { var t = e.state, i = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; return Object.assign(t.elements.popper.style, i.popper), t.styles = i, t.elements.arrow && Object.assign(t.elements.arrow.style, i.arrow), function () { Object.keys(t.elements).forEach(function (n) { var r = t.elements[n], s = t.attributes[n] || {}, a = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : i[n]).reduce(function (l, c) { return l[c] = "", l }, {}); !Xn(r) || !Li(r) || (Object.assign(r.style, a), Object.keys(s).forEach(function (l) { r.removeAttribute(l) })) }) } }, requires: ["computeStyles"] }] }); const eV = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: function XB(e) { var t = e.state, n = e.name, r = e.options.offset, s = void 0 === r ? [0, 0] : r, o = Lw.reduce(function (u, h) { return u[h] = function KB(e, t, i) { var n = ki(e), r = [Hn, Vn].indexOf(n) >= 0 ? -1 : 1, s = "function" == typeof i ? i(Object.assign({}, t, { placement: e })) : i, o = s[0], a = s[1]; return o = o || 0, a = (a || 0) * r, [Hn, fi].indexOf(n) >= 0 ? { x: a, y: o } : { x: o, y: a } }(h, t.rects, s), u }, {}), a = o[t.placement], c = a.y; null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += a.x, t.modifiersData.popperOffsets.y += c), t.modifiersData[n] = o } }; function lV(e, t) { if (1 & e) { const i = Dn(); j(0, "button", 1), ce("click", function () { return on(i), an(z().close()) }), U() } } const Jw = ["*"], BV = ["dialog"]; function Wr(e) { return "string" == typeof e } function qr(e) { return null != e } function ho(e) { return (e || document.body).getBoundingClientRect() } function tC(e = document) { const t = e?.activeElement; return t ? t.shadowRoot ? tC(t.shadowRoot) : t : null } const nC = { animation: !0, transitionTimerDelayMs: 5 }, A3 = () => { }, { transitionTimerDelayMs: O3 } = nC, Ha = new Map, pn = (e, t, i, n) => { let r = n.context || {}; const s = Ha.get(t); if (s) switch (n.runningTransition) { case "continue": return Do; case "stop": e.run(() => s.transition$.complete()), r = Object.assign(s.context, r), Ha.delete(t) }const o = i(t, n.animation, r) || A3; if (!n.animation || "none" === window.getComputedStyle(t).transitionProperty) return e.run(() => o()), ds(void 0).pipe(function I3(e) { return t => new ze(i => t.subscribe({ next: o => e.run(() => i.next(o)), error: o => e.run(() => i.error(o)), complete: () => e.run(() => i.complete()) })) }(e)); const a = new ee, l = new ee, c = a.pipe(function z2(...e) { return t => Jc(t, ds(...e)) }(!0)); Ha.set(t, { transition$: a, complete: () => { l.next(), l.complete() }, context: r }); const u = function N3(e) { const { transitionDelay: t, transitionDuration: i } = window.getComputedStyle(e); return 1e3 * (parseFloat(t) + parseFloat(i)) }(t); return e.runOutsideAngular(() => { const h = Gt(t, "transitionend").pipe(Mt(c), ci(({ target: _ }) => _ === t)); CD(DD(u + O3).pipe(Mt(c)), h, l).pipe(Mt(c)).subscribe(() => { Ha.delete(t), e.run(() => { o(), a.next(), a.complete() }) }) }), a.asObservable() }; let Ua = (() => { var e; class t { constructor() { this.animation = nC.animation } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), dC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const H3 = ({ classList: e }) => { e.remove("show") }; let U3 = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.dismissible = !0, this.type = "warning" } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), j3 = (() => { var e; class t { constructor(n, r, s, o) { this._renderer = r, this._element = s, this._zone = o, this.closed = new Y, this.dismissible = n.dismissible, this.type = n.type, this.animation = n.animation } close() { const n = pn(this._zone, this._element.nativeElement, H3, { animation: this.animation, runningTransition: "continue" }); return n.subscribe(() => this.closed.emit()), n } ngOnChanges(n) { const r = n.type; r && !r.firstChange && (this._renderer.removeClass(this._element.nativeElement, `alert-${r.previousValue}`), this._renderer.addClass(this._element.nativeElement, `alert-${r.currentValue}`)) } ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(U3), v(Wn), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-alert"]], hostAttrs: ["role", "alert", 1, "alert", "show"], hostVars: 4, hostBindings: function (n, r) { 2 & n && De("fade", r.animation)("alert-dismissible", r.dismissible) }, inputs: { animation: "animation", dismissible: "dismissible", type: "type" }, outputs: { closed: "closed" }, exportAs: ["ngbAlert"], standalone: !0, features: [sn, Zn], ngContentSelectors: Jw, decls: 2, vars: 1, consts: function () { let i; return i = $localize`:@@ngb.alert.close:Close`, [["type", "button", "class", "btn-close", "aria-label", i, 3, "click", 4, "ngIf"], ["type", "button", "aria-label", i, 1, "btn-close", 3, "click"]] }, template: function (n, r) { 1 & n && (Wf(), qf(0), B(1, lV, 1, 0, "button", 0)), 2 & n && (R(1), x("ngIf", r.dismissible)) }, dependencies: [Ln], styles: ["ngb-alert{display:block}\n"], encapsulation: 2, changeDetection: 0 }), t })(), fC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), gC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), Yp = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); var Ge = function (e) { return e[e.Tab = 9] = "Tab", e[e.Enter = 13] = "Enter", e[e.Escape = 27] = "Escape", e[e.Space = 32] = "Space", e[e.PageUp = 33] = "PageUp", e[e.PageDown = 34] = "PageDown", e[e.End = 35] = "End", e[e.Home = 36] = "Home", e[e.ArrowLeft = 37] = "ArrowLeft", e[e.ArrowUp = 38] = "ArrowUp", e[e.ArrowRight = 39] = "ArrowRight", e[e.ArrowDown = 40] = "ArrowDown", e }(Ge || {}); const yu = (e, t) => !!t && t.some(i => i.contains(e)), bC = (e, t) => !t || null != function M3(e, t) { return !t || typeof e.closest > "u" ? null : e.closest(t) }(e, t), cH = typeof navigator < "u" && !!navigator.userAgent && (/iPad|iPhone|iPod/.test(navigator.userAgent) || /Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2 || /Android/.test(navigator.userAgent)); function DC(e, t, i, n, r, s, o, a) { i && e.runOutsideAngular((e => cH ? () => setTimeout(() => e(), 100) : e)(() => { const c = Gt(t, "keydown").pipe(Mt(r), ci(g => g.which === Ge.Escape), ED(g => g.preventDefault())), u = Gt(t, "mousedown").pipe(Pt(g => { const _ = g.target; return 2 !== g.button && !yu(_, o) && ("inside" === i ? yu(_, s) && bC(_, a) : "outside" === i ? !yu(_, s) : bC(_, a) || !yu(_, s)) }), Mt(r)), h = Gt(t, "mouseup").pipe(hp(u), ci(([g, _]) => _), function Y2(e, t = bD) { const i = DD(e, t); return SD(() => i) }(0), Mt(r)); CD([c.pipe(Pt(g => 0)), h.pipe(Pt(g => 1))]).subscribe(g => e.run(() => n(g))) })) } const wC = ["a[href]", "button:not([disabled])", 'input:not([disabled]):not([type="hidden"])', "select:not([disabled])", "textarea:not([disabled])", "[contenteditable]", '[tabindex]:not([tabindex="-1"])'].join(", "); function CC(e) { const t = Array.from(e.querySelectorAll(wC)).filter(i => -1 !== i.tabIndex); return [t[0], t[t.length - 1]] } let dH = (() => { var e; class t { constructor(n) { this._element = n.documentElement } isRTL() { return "rtl" === (this._element.getAttribute("dir") || "").toLowerCase() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const fH = /\s+/, hH = / +/gi, pH = { top: ["top"], bottom: ["bottom"], start: ["left", "right"], left: ["left"], end: ["right", "left"], right: ["right"], "top-start": ["top-start", "top-end"], "top-left": ["top-start"], "top-end": ["top-end", "top-start"], "top-right": ["top-end"], "bottom-start": ["bottom-start", "bottom-end"], "bottom-left": ["bottom-start"], "bottom-end": ["bottom-end", "bottom-start"], "bottom-right": ["bottom-end"], "start-top": ["left-start", "right-start"], "left-top": ["left-start"], "start-bottom": ["left-end", "right-end"], "left-bottom": ["left-end"], "end-top": ["right-start", "left-start"], "right-top": ["right-start"], "end-bottom": ["right-end", "left-end"], "right-bottom": ["right-end"] }, _H = /^left/, mH = /^right/, vH = /^start/, yH = /^end/; function SC({ placement: e, baseClass: t }, i) { let n = Array.isArray(e) ? e : e.split(fH), s = n.findIndex(c => "auto" === c); s >= 0 && ["top", "bottom", "start", "end", "top-start", "top-end", "bottom-start", "bottom-end", "start-top", "start-bottom", "end-top", "end-bottom"].forEach(function (c) { null == n.find(u => -1 !== u.search("^" + c)) && n.splice(s++, 1, c) }); const o = n.map(c => function gH(e, t) { const [i, n] = pH[e]; return t && n || i }(c, i.isRTL())); return { placement: o.shift(), modifiers: [{ name: "bootstrapClasses", enabled: !!t, phase: "write", fn({ state: c }) { const u = new RegExp(t + "(-[a-z]+)*", "gi"), h = c.elements.popper, g = c.placement; let _ = h.className; _ = _.replace(u, ""), _ += ` ${function bH(e, t) { let [i, n] = t.split("-"); const r = i.replace(_H, "start").replace(mH, "end"); let s = [r]; if (n) { let o = n; ("left" === i || "right" === i) && (o = o.replace(vH, "top").replace(yH, "bottom")), s.push(`${r}-${o}`) } return e && (s = s.map(o => `${e}-${o}`)), s.join(" ") }(t, g)}`, _ = _.trim().replace(hH, " "), h.className = _ } }, wB, TB, AB, { enabled: !0, name: "flip", options: { fallbackPlacements: o } }, { enabled: !0, name: "preventOverflow", phase: "main", fn: function () { } }] } } function TC(e) { return e } new Date(1882, 10, 12), new Date(2174, 10, 25); let kC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), OH = (() => { var e; class t { constructor() { this.autoClose = !0, this.placement = ["bottom-start", "bottom-end", "top-start", "top-end"], this.popperOptions = n => n } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), ig = (() => { var e; class t { set disabled(n) { this._disabled = "" === n || !0 === n, this._renderer.setProperty(this.elementRef.nativeElement, "disabled", this._disabled) } get disabled() { return this._disabled } constructor(n, r) { this.elementRef = n, this._renderer = r, this._disabled = !1 } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownItem", ""]], hostAttrs: [1, "dropdown-item"], hostVars: 3, hostBindings: function (n, r) { 2 & n && (Yn("tabIndex", r.disabled ? -1 : 0), De("disabled", r.disabled)) }, inputs: { disabled: "disabled" }, standalone: !0 }), t })(), rg = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.placement = "bottom", this.isOpen = !1, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownMenu", ""]], contentQueries: function (n, r, s) { if (1 & n && pt(s, ig, 4), 2 & n) { let o; se(o = oe()) && (r.menuItems = o) } }, hostVars: 4, hostBindings: function (n, r) { 1 & n && ce("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Enter", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Space", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && De("dropdown-menu", !0)("show", r.dropdown.isOpen()) }, standalone: !0 }), t })(), Cu = (() => { var e; class t { constructor(n, r) { this.dropdown = n, this.nativeElement = r.nativeElement } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownAnchor", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0 }), t })(), LC = (() => { var e; class t extends Cu { constructor(n, r) { super(n, r) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(ae(() => za)), v(Fe)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdownToggle", ""]], hostAttrs: [1, "dropdown-toggle"], hostVars: 1, hostBindings: function (n, r) { 1 & n && ce("click", function () { return r.dropdown.toggle() })("keydown.ArrowUp", function (o) { return r.dropdown.onKeyDown(o) })("keydown.ArrowDown", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Home", function (o) { return r.dropdown.onKeyDown(o) })("keydown.End", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Tab", function (o) { return r.dropdown.onKeyDown(o) })("keydown.Shift.Tab", function (o) { return r.dropdown.onKeyDown(o) }), 2 & n && Te("aria-expanded", r.dropdown.isOpen()) }, standalone: !0, features: [$e([{ provide: Cu, useExisting: ae(() => e) }]), Oe] }), t })(), za = (() => { var e; class t { constructor(n, r, s, o, a, l) { this._changeDetector = n, this._document = s, this._ngZone = o, this._elementRef = a, this._renderer = l, this._destroyCloseHandlers$ = new ee, this._bodyContainer = null, this._open = !1, this.openChange = new Y, this.placement = r.placement, this.popperOptions = r.popperOptions, this.container = r.container, this.autoClose = r.autoClose, this._positioning = function MC() { const e = fe(dH); let t = null; return { createPopper(i) { if (!t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t = QB(i.hostElement, i.targetElement, r) } }, update() { t && t.update() }, setOptions(i) { if (t) { let r = (i.updatePopperOptions || TC)(SC(i, e)); t.setOptions(r) } }, destroy() { t && (t.destroy(), t = null) } } }() } ngOnInit() { this.display || (this.display = this._elementRef.nativeElement.closest(".navbar") ? "static" : "dynamic") } ngAfterContentInit() { this._ngZone.onStable.pipe(ui(1)).subscribe(() => { this._applyPlacementClasses(), this._open && this._setCloseHandlers() }) } ngOnChanges(n) { if (n.container && this._open && this._applyContainer(this.container), n.placement && !n.placement.firstChange && (this._positioning.setOptions({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container }), this._applyPlacementClasses()), n.dropdownClass) { const { currentValue: r, previousValue: s } = n.dropdownClass; this._applyCustomDropdownClass(r, s) } n.autoClose && this._open && (this.autoClose = n.autoClose.currentValue, this._setCloseHandlers()) } isOpen() { return this._open } open() { this._open || (this._open = !0, this._applyContainer(this.container), this.openChange.emit(!0), this._setCloseHandlers(), this._anchor && (this._anchor.nativeElement.focus(), "dynamic" === this.display && this._ngZone.runOutsideAngular(() => { this._positioning.createPopper({ hostElement: this._anchor.nativeElement, targetElement: this._bodyContainer || this._menu.nativeElement, placement: this.placement, appendToBody: "body" === this.container, updatePopperOptions: n => this.popperOptions(function NC(e) { return t => (t.modifiers.push(eV, { name: "offset", options: { offset: () => e } }), t) }([0, 2])(n)) }), this._applyPlacementClasses(), this._zoneSubscription = this._ngZone.onStable.subscribe(() => this._positionMenu()) }))) } _setCloseHandlers() { this._destroyCloseHandlers$.next(), DC(this._ngZone, this._document, this.autoClose, n => { this.close(), 0 === n && this._anchor.nativeElement.focus() }, this._destroyCloseHandlers$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [], ".dropdown-item,.dropdown-divider") } close() { this._open && (this._open = !1, this._resetContainer(), this._positioning.destroy(), this._zoneSubscription?.unsubscribe(), this._destroyCloseHandlers$.next(), this.openChange.emit(!1), this._changeDetector.markForCheck()) } toggle() { this.isOpen() ? this.close() : this.open() } ngOnDestroy() { this.close() } onKeyDown(n) { const r = n.which, s = this._getMenuElements(); let o = -1, a = null; const l = this._isEventFromToggle(n); if (!l && s.length && s.forEach((c, u) => { c.contains(n.target) && (a = c), c === tC(this._document) && (o = u) }), r !== Ge.Space && r !== Ge.Enter) { if (r !== Ge.Tab) { if (l || a) { if (this.open(), s.length) { switch (r) { case Ge.ArrowDown: o = Math.min(o + 1, s.length - 1); break; case Ge.ArrowUp: if (this._isDropup() && -1 === o) { o = s.length - 1; break } o = Math.max(o - 1, 0); break; case Ge.Home: o = 0; break; case Ge.End: o = s.length - 1 }s[o].focus() } n.preventDefault() } } else if (n.target && this.isOpen() && this.autoClose) { if (this._anchor.nativeElement === n.target) return void ("body" !== this.container || n.shiftKey ? n.shiftKey && this.close() : (this._renderer.setAttribute(this._menu.nativeElement, "tabindex", "0"), this._menu.nativeElement.focus(), this._renderer.removeAttribute(this._menu.nativeElement, "tabindex"))); if ("body" === this.container) { const c = this._menu.nativeElement.querySelectorAll(wC); n.shiftKey && n.target === c[0] ? (this._anchor.nativeElement.focus(), n.preventDefault()) : !n.shiftKey && n.target === c[c.length - 1] && (this._anchor.nativeElement.focus(), this.close()) } else Gt(n.target, "focusout").pipe(ui(1)).subscribe(({ relatedTarget: c }) => { this._elementRef.nativeElement.contains(c) || this.close() }) } } else a && (!0 === this.autoClose || "inside" === this.autoClose) && Gt(a, "click").pipe(ui(1)).subscribe(() => this.close()) } _isDropup() { return this._elementRef.nativeElement.classList.contains("dropup") } _isEventFromToggle(n) { return this._anchor.nativeElement.contains(n.target) } _getMenuElements() { const n = this._menu; return null == n ? [] : n.menuItems.filter(r => !r.disabled).map(r => r.elementRef.nativeElement) } _positionMenu() { const n = this._menu; this.isOpen() && n && ("dynamic" === this.display ? (this._positioning.update(), this._applyPlacementClasses()) : this._applyPlacementClasses(this._getFirstPlacement(this.placement))) } _getFirstPlacement(n) { return Array.isArray(n) ? n[0] : n.split(" ")[0] } _resetContainer() { const n = this._renderer; this._menu && n.appendChild(this._elementRef.nativeElement, this._menu.nativeElement), this._bodyContainer && (n.removeChild(this._document.body, this._bodyContainer), this._bodyContainer = null) } _applyContainer(n = null) { if (this._resetContainer(), "body" === n) { const r = this._renderer, s = this._menu.nativeElement, o = this._bodyContainer = this._bodyContainer || r.createElement("div"); r.setStyle(o, "position", "absolute"), r.setStyle(s, "position", "static"), r.setStyle(o, "z-index", "1055"), r.appendChild(o, s), r.appendChild(this._document.body, o) } this._applyCustomDropdownClass(this.dropdownClass) } _applyCustomDropdownClass(n, r) { const s = "body" === this.container ? this._bodyContainer : this._elementRef.nativeElement; s && (r && this._renderer.removeClass(s, r), n && this._renderer.addClass(s, n)) } _applyPlacementClasses(n) { const r = this._menu; if (r) { n || (n = this._getFirstPlacement(this.placement)); const s = this._renderer, o = this._elementRef.nativeElement; s.removeClass(o, "dropup"), s.removeClass(o, "dropdown"); const { nativeElement: a } = r; "static" === this.display ? (r.placement = null, s.setAttribute(a, "data-bs-popper", "static")) : (r.placement = n, s.removeAttribute(a, "data-bs-popper")); const l = -1 !== n.search("^top") ? "dropup" : "dropdown"; s.addClass(o, l); const c = this._bodyContainer; c && (s.removeClass(c, "dropup"), s.removeClass(c, "dropdown"), s.addClass(c, l)) } } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(OH), v(Kt), v(Se), v(Fe), v(Wn)) }, e.\u0275dir = k({ type: e, selectors: [["", "ngbDropdown", ""]], contentQueries: function (n, r, s) { if (1 & n && (pt(s, rg, 5), pt(s, Cu, 5)), 2 & n) { let o; se(o = oe()) && (r._menu = o.first), se(o = oe()) && (r._anchor = o.first) } }, hostVars: 2, hostBindings: function (n, r) { 2 & n && De("show", r.isOpen()) }, inputs: { autoClose: "autoClose", dropdownClass: "dropdownClass", _open: ["open", "_open"], placement: "placement", popperOptions: "popperOptions", container: "container", display: "display" }, outputs: { openChange: "openChange" }, exportAs: ["ngbDropdown"], standalone: !0, features: [sn] }), t })(), BC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); class Kr { constructor(t, i, n) { this.nodes = t, this.viewRef = i, this.componentRef = n } } let xH = (() => { var e; class t { constructor(n, r) { this._el = n, this._zone = r } ngOnInit() { this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { pn(this._zone, this._el.nativeElement, (n, r) => { r && ho(n), n.classList.add("show") }, { animation: this.animation, runningTransition: "continue" }) }) } hide() { return pn(this._zone, this._el.nativeElement, ({ classList: n }) => n.remove("show"), { animation: this.animation, runningTransition: "stop" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-backdrop"]], hostAttrs: [2, "z-index", "1055"], hostVars: 6, hostBindings: function (n, r) { 2 & n && (Rr("modal-backdrop" + (r.backdropClass ? " " + r.backdropClass : "")), De("show", !r.animation)("fade", r.animation)) }, inputs: { animation: "animation", backdropClass: "backdropClass" }, standalone: !0, features: [Zn], decls: 0, vars: 0, template: function (n, r) { }, encapsulation: 2 }), t })(); class VC { update(t) { } close(t) { } dismiss(t) { } } const RH = ["animation", "ariaLabelledBy", "ariaDescribedBy", "backdrop", "centered", "fullscreen", "keyboard", "scrollable", "size", "windowClass", "modalDialogClass"], PH = ["animation", "backdropClass"]; class FH { _applyWindowOptions(t, i) { RH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } _applyBackdropOptions(t, i) { PH.forEach(n => { qr(i[n]) && (t[n] = i[n]) }) } update(t) { this._applyWindowOptions(this._windowCmptRef.instance, t), this._backdropCmptRef && this._backdropCmptRef.instance && this._applyBackdropOptions(this._backdropCmptRef.instance, t) } get componentInstance() { if (this._contentRef && this._contentRef.componentRef) return this._contentRef.componentRef.instance } get closed() { return this._closed.asObservable().pipe(Mt(this._hidden)) } get dismissed() { return this._dismissed.asObservable().pipe(Mt(this._hidden)) } get hidden() { return this._hidden.asObservable() } get shown() { return this._windowCmptRef.instance.shown.asObservable() } constructor(t, i, n, r) { this._windowCmptRef = t, this._contentRef = i, this._backdropCmptRef = n, this._beforeDismiss = r, this._closed = new ee, this._dismissed = new ee, this._hidden = new ee, t.instance.dismissEvent.subscribe(s => { this.dismiss(s) }), this.result = new Promise((s, o) => { this._resolve = s, this._reject = o }), this.result.then(null, () => { }) } close(t) { this._windowCmptRef && (this._closed.next(t), this._resolve(t), this._removeModalElements()) } _dismiss(t) { this._dismissed.next(t), this._reject(t), this._removeModalElements() } dismiss(t) { if (this._windowCmptRef) if (this._beforeDismiss) { const i = this._beforeDismiss(); !function Kw(e) { return e && e.then }(i) ? !1 !== i && this._dismiss(t) : i.then(n => { !1 !== n && this._dismiss(t) }, () => { }) } else this._dismiss(t) } _removeModalElements() { const t = this._windowCmptRef.instance.hide(), i = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : ds(void 0); t.subscribe(() => { const { nativeElement: n } = this._windowCmptRef.location; n.parentNode.removeChild(n), this._windowCmptRef.destroy(), this._contentRef && this._contentRef.viewRef && this._contentRef.viewRef.destroy(), this._windowCmptRef = null, this._contentRef = null }), i.subscribe(() => { if (this._backdropCmptRef) { const { nativeElement: n } = this._backdropCmptRef.location; n.parentNode.removeChild(n), this._backdropCmptRef.destroy(), this._backdropCmptRef = null } }), fp(t, i).subscribe(() => { this._hidden.next(), this._hidden.complete() }) } } var Wa = function (e) { return e[e.BACKDROP_CLICK = 0] = "BACKDROP_CLICK", e[e.ESC = 1] = "ESC", e }(Wa || {}); let kH = (() => { var e; class t { constructor(n, r, s) { this._document = n, this._elRef = r, this._zone = s, this._closed$ = new ee, this._elWithFocus = null, this.backdrop = !0, this.keyboard = !0, this.dismissEvent = new Y, this.shown = new ee, this.hidden = new ee } get fullscreenClass() { return !0 === this.fullscreen ? " modal-fullscreen" : Wr(this.fullscreen) ? ` modal-fullscreen-${this.fullscreen}-down` : "" } dismiss(n) { this.dismissEvent.emit(n) } ngOnInit() { this._elWithFocus = this._document.activeElement, this._zone.onStable.asObservable().pipe(ui(1)).subscribe(() => { this._show() }) } ngOnDestroy() { this._disableEventHandling() } hide() { const { nativeElement: n } = this._elRef, r = { animation: this.animation, runningTransition: "stop" }, a = fp(pn(this._zone, n, () => n.classList.remove("show"), r), pn(this._zone, this._dialogEl.nativeElement, () => { }, r)); return a.subscribe(() => { this.hidden.next(), this.hidden.complete() }), this._disableEventHandling(), this._restoreFocus(), a } _show() { const n = { animation: this.animation, runningTransition: "continue" }; fp(pn(this._zone, this._elRef.nativeElement, (o, a) => { a && ho(o), o.classList.add("show") }, n), pn(this._zone, this._dialogEl.nativeElement, () => { }, n)).subscribe(() => { this.shown.next(), this.shown.complete() }), this._enableEventHandling(), this._setFocus() } _enableEventHandling() { const { nativeElement: n } = this._elRef; this._zone.runOutsideAngular(() => { Gt(n, "keydown").pipe(Mt(this._closed$), ci(s => s.which === Ge.Escape)).subscribe(s => { this.keyboard ? requestAnimationFrame(() => { s.defaultPrevented || this._zone.run(() => this.dismiss(Wa.ESC)) }) : "static" === this.backdrop && this._bumpBackdrop() }); let r = !1; Gt(this._dialogEl.nativeElement, "mousedown").pipe(Mt(this._closed$), ED(() => r = !1), Bu(() => Gt(n, "mouseup").pipe(Mt(this._closed$), ui(1))), ci(({ target: s }) => n === s)).subscribe(() => { r = !0 }), Gt(n, "click").pipe(Mt(this._closed$)).subscribe(({ target: s }) => { n === s && ("static" === this.backdrop ? this._bumpBackdrop() : !0 === this.backdrop && !r && this._zone.run(() => this.dismiss(Wa.BACKDROP_CLICK))), r = !1 }) }) } _disableEventHandling() { this._closed$.next() } _setFocus() { const { nativeElement: n } = this._elRef; if (!n.contains(document.activeElement)) { const r = n.querySelector("[ngbAutofocus]"), s = CC(n)[0]; (r || s || n).focus() } } _restoreFocus() { const n = this._document.body, r = this._elWithFocus; let s; s = r && r.focus && n.contains(r) ? r : n, this._zone.runOutsideAngular(() => { setTimeout(() => s.focus()), this._elWithFocus = null }) } _bumpBackdrop() { "static" === this.backdrop && pn(this._zone, this._elRef.nativeElement, ({ classList: n }) => (n.add("modal-static"), () => n.remove("modal-static")), { animation: this.animation, runningTransition: "continue" }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Kt), v(Fe), v(Se)) }, e.\u0275cmp = et({ type: e, selectors: [["ngb-modal-window"]], viewQuery: function (n, r) { if (1 & n && at(BV, 7), 2 & n) { let s; se(s = oe()) && (r._dialogEl = s.first) } }, hostAttrs: ["role", "dialog", "tabindex", "-1"], hostVars: 7, hostBindings: function (n, r) { 2 & n && (Te("aria-modal", !0)("aria-labelledby", r.ariaLabelledBy)("aria-describedby", r.ariaDescribedBy), Rr("modal d-block" + (r.windowClass ? " " + r.windowClass : "")), De("fade", r.animation)) }, inputs: { animation: "animation", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", backdrop: "backdrop", centered: "centered", fullscreen: "fullscreen", keyboard: "keyboard", scrollable: "scrollable", size: "size", windowClass: "windowClass", modalDialogClass: "modalDialogClass" }, outputs: { dismissEvent: "dismiss" }, standalone: !0, features: [Zn], ngContentSelectors: Jw, decls: 4, vars: 2, consts: [["role", "document"], ["dialog", ""], [1, "modal-content"]], template: function (n, r) { 1 & n && (Wf(), j(0, "div", 0, 1)(2, "div", 2), qf(3), U()()), 2 & n && Rr("modal-dialog" + (r.size ? " modal-" + r.size : "") + (r.centered ? " modal-dialog-centered" : "") + r.fullscreenClass + (r.scrollable ? " modal-dialog-scrollable" : "") + (r.modalDialogClass ? " " + r.modalDialogClass : "")) }, styles: ["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"], encapsulation: 2 }), t })(), LH = (() => { var e; class t { constructor(n) { this._document = n } hide() { const n = Math.abs(window.innerWidth - this._document.documentElement.clientWidth), r = this._document.body, s = r.style, { overflow: o, paddingRight: a } = s; if (n > 0) { const l = parseFloat(window.getComputedStyle(r).paddingRight); s.paddingRight = `${l + n}px` } return s.overflow = "hidden", () => { n > 0 && (s.paddingRight = a), s.overflow = o } } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Kt)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), BH = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this._applicationRef = n, this._injector = r, this._environmentInjector = s, this._document = o, this._scrollBar = a, this._rendererFactory = l, this._ngZone = c, this._activeWindowCmptHasChanged = new ee, this._ariaHiddenValues = new Map, this._scrollBarRestoreFn = null, this._modalRefs = [], this._windowCmpts = [], this._activeInstances = new Y, this._activeWindowCmptHasChanged.subscribe(() => { if (this._windowCmpts.length) { const u = this._windowCmpts[this._windowCmpts.length - 1]; ((e, t, i, n = !1) => { e.runOutsideAngular(() => { const r = Gt(t, "focusin").pipe(Mt(i), Pt(s => s.target)); Gt(t, "keydown").pipe(Mt(i), ci(s => s.which === Ge.Tab), hp(r)).subscribe(([s, o]) => { const [a, l] = CC(t); (o === a || o === t) && s.shiftKey && (l.focus(), s.preventDefault()), o === l && !s.shiftKey && (a.focus(), s.preventDefault()) }), n && Gt(t, "click").pipe(Mt(i), hp(r), Pt(s => s[1])).subscribe(s => s.focus()) }) })(this._ngZone, u.location.nativeElement, this._activeWindowCmptHasChanged), this._revertAriaHidden(), this._setAriaHidden(u.location.nativeElement) } }) } _restoreScrollBar() { const n = this._scrollBarRestoreFn; n && (this._scrollBarRestoreFn = null, n()) } _hideScrollBar() { this._scrollBarRestoreFn || (this._scrollBarRestoreFn = this._scrollBar.hide()) } open(n, r, s) { const o = s.container instanceof HTMLElement ? s.container : qr(s.container) ? this._document.querySelector(s.container) : this._document.body, a = this._rendererFactory.createRenderer(null, null); if (!o) throw new Error(`The specified modal container "${s.container || "body"}" was not found in the DOM.`); this._hideScrollBar(); const l = new VC, c = (n = s.injector || n).get(zn, null) || this._environmentInjector, u = this._getContentRef(n, c, r, l, s); let h = !1 !== s.backdrop ? this._attachBackdrop(o) : void 0, g = this._attachWindowComponent(o, u.nodes), _ = new FH(g, u, h, s.beforeDismiss); return this._registerModalRef(_), this._registerWindowCmpt(g), _.hidden.pipe(ui(1)).subscribe(() => Promise.resolve(!0).then(() => { this._modalRefs.length || (a.removeClass(this._document.body, "modal-open"), this._restoreScrollBar(), this._revertAriaHidden()) })), l.close = y => { _.close(y) }, l.dismiss = y => { _.dismiss(y) }, l.update = y => { _.update(y) }, _.update(s), 1 === this._modalRefs.length && a.addClass(this._document.body, "modal-open"), h && h.instance && h.changeDetectorRef.detectChanges(), g.changeDetectorRef.detectChanges(), _ } get activeInstances() { return this._activeInstances } dismissAll(n) { this._modalRefs.forEach(r => r.dismiss(n)) } hasOpenModals() { return this._modalRefs.length > 0 } _attachBackdrop(n) { let r = Ph(xH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector }); return this._applicationRef.attachView(r.hostView), n.appendChild(r.location.nativeElement), r } _attachWindowComponent(n, r) { let s = Ph(kH, { environmentInjector: this._applicationRef.injector, elementInjector: this._injector, projectableNodes: r }); return this._applicationRef.attachView(s.hostView), n.appendChild(s.location.nativeElement), s } _getContentRef(n, r, s, o, a) { return s ? s instanceof nt ? this._createFromTemplateRef(s, o) : Wr(s) ? this._createFromString(s) : this._createFromComponent(n, r, s, o, a) : new Kr([]) } _createFromTemplateRef(n, r) { const o = n.createEmbeddedView({ $implicit: r, close(a) { r.close(a) }, dismiss(a) { r.dismiss(a) } }); return this._applicationRef.attachView(o), new Kr([o.rootNodes], o) } _createFromString(n) { const r = this._document.createTextNode(`${n}`); return new Kr([[r]]) } _createFromComponent(n, r, s, o, a) { const c = Ph(s, { environmentInjector: r, elementInjector: Jt.create({ providers: [{ provide: VC, useValue: o }], parent: n }) }), u = c.location.nativeElement; return a.scrollable && u.classList.add("component-host-scrollable"), this._applicationRef.attachView(c.hostView), new Kr([[u]], c.hostView, c) } _setAriaHidden(n) { const r = n.parentElement; r && n !== this._document.body && (Array.from(r.children).forEach(s => { s !== n && "SCRIPT" !== s.nodeName && (this._ariaHiddenValues.set(s, s.getAttribute("aria-hidden")), s.setAttribute("aria-hidden", "true")) }), this._setAriaHidden(r)) } _revertAriaHidden() { this._ariaHiddenValues.forEach((n, r) => { n ? r.setAttribute("aria-hidden", n) : r.removeAttribute("aria-hidden") }), this._ariaHiddenValues.clear() } _registerModalRef(n) { const r = () => { const s = this._modalRefs.indexOf(n); s > -1 && (this._modalRefs.splice(s, 1), this._activeInstances.emit(this._modalRefs)) }; this._modalRefs.push(n), this._activeInstances.emit(this._modalRefs), n.result.then(r, r) } _registerWindowCmpt(n) { this._windowCmpts.push(n), this._activeWindowCmptHasChanged.next(), n.onDestroy(() => { const r = this._windowCmpts.indexOf(n); r > -1 && (this._windowCmpts.splice(r, 1), this._activeWindowCmptHasChanged.next()) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(kr), L(Jt), L(zn), L(Kt), L(LH), L(mf), L(Se)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), VH = (() => { var e; class t { constructor(n) { this._ngbConfig = n, this.backdrop = !0, this.fullscreen = !1, this.keyboard = !0 } get animation() { return void 0 === this._animation ? this._ngbConfig.animation : this._animation } set animation(n) { this._animation = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Ua)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), HC = (() => { var e; class t { constructor(n, r, s) { this._injector = n, this._modalStack = r, this._config = s } open(n, r = {}) { const s = { ...this._config, animation: this._config.animation, ...r }; return this._modalStack.open(this._injector, n, s) } get activeInstances() { return this._modalStack.activeInstances } dismissAll(n) { this._modalStack.dismissAll(n) } hasOpenModals() { return this._modalStack.hasOpenModals() } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt), L(BH), L(VH)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), UC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ providers: [HC] }), t })(), GC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), KC = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), eE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), tE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), nE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), iE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), rE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), sE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), oE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); new W("live announcer delay", { providedIn: "root", factory: function iU() { return 100 } }); let aE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(), lE = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({}), t })(); const sU = [dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE]; let oU = (() => { var e; class t { } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275mod = Pe({ type: e }), e.\u0275inj = Ae({ imports: [sU, dC, fC, gC, Yp, kC, BC, UC, GC, lE, KC, eE, tE, nE, iE, rE, sE, oE, aE] }), t })(); const aU = ["ddbut"]; function lU(e, t) { if (1 & e && (j(0, "button", 8), Be(1, "i", null, 9), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.element.id), R(3), jt(i.label) } } let cU = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.attributeService = n, this.cd = r, this.frontendService = s, this.elementLookupService = a, this.callbackHelperService = l, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.dropDownMenuItems = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new uU(r, n); this.elementLookupService.addElementObject(n.id, s, n), this.dropDownMenuItems.push(s), this.cd.detectChanges(); let o = document.getElementById(n.id); if (null != o) { s.setHtmlElement(o), s.setAttributes(n.attributes), this.callbackHelperService.setCallbacks(o, n.when); let a = o.children.item(0); null != a && this.attributeService.addClasses(a, n.attributes, ["fa"], [], "icon") } }), this.cd.detectChanges(), this.setAttributes(this.element.attributes)) } setAttributes(n) { let r = this.attributeService.findAttribute("selected", n); null != r && (this.buttonLabel = r.value); let s = this.ddbut.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, ["btn"], ["btn-outline-dark"]), s.style.border_color = this.attributeService.findGetAttributeValue("border_color", n, "black"), this.cd.detectChanges() } onClick(n) { this.frontendService.operationPost(n.when[0]) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(gt), v(Bn), v(Kt), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-dropdown-menu"]], viewQuery: function (n, r) { if (1 & n && at(aU, 7), 2 & n) { let s; se(s = oe()) && (r.ddbut = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 9, vars: 3, consts: [[2, "display", "table", "min-height", "100%", "min-width", "100%"], [2, "display", "table-row", "min-width", "100%"], [2, "display", "table-cell", "vertical-align", "middle", "text-align", "center"], ["ngbDropdown", "", 1, "d-inline-block"], ["type", "button", "ngbDropdownToggle", "", "ata-toggle", "dropdown", "aria-haspopup", "true", "aria-expanded", "false", 3, "id"], ["ddbut", ""], ["ngbDropdownMenu", ""], ["ngbDropdownItem", "", 3, "id", 4, "ngFor", "ngForOf"], ["ngbDropdownItem", "", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4, 5), qe(6), U(), j(7, "div", 6), B(8, lU, 4, 2, "button", 7), U()()()()()), 2 & n && (R(4), Pn("id", null == r.element ? null : r.element.id), R(2), Ri(" ", r.buttonLabel, " "), R(2), x("ngForOf", r.dropDownMenuItems)) }, dependencies: [kn, za, LC, rg, ig] }), t })(); class uU { constructor(t, i) { this.htmlElement = null, this.label = t, this.element = i } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { if (null != this.htmlElement) { let i = $t.injector.get(Tn); i.addAttributes(this.htmlElement, t), i.textAttributes(this.htmlElement, t), i.setAttributesDirectly(this.htmlElement, t), i.addClasses(this.htmlElement, t, ["dropdown-item"], []) } } } const dU = ["label"], fU = ["middleDiv"], hU = ["outerDiv"]; let pU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.elementLabel = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.callbackService.setCallbacks(this.label.nativeElement, this.element.when), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("label", n); null != r && (this.elementLabel = r.value); let s = this.label.nativeElement, o = this.middleDiv.nativeElement, a = this.outerDiv.nativeElement; this.attributeService.addAttributes(s, n), this.attributeService.textAttributes(s, n), this.attributeService.setAttributesDirectly(s, n), this.attributeService.addClasses(s, n, [], []), this.setOuterDivStyles(a), this.setMiddleDivStyle(o), this.setParagraphStyle(s), this.cd.detectChanges() } setOuterDivStyles(n) { n.style.display = "table", n.style.minHeight = "100%", n.style.minWidth = "100%", n.style.overflow = "hidden" } setMiddleDivStyle(n) { n.style.minWidth = "100%", n.style.display = "table-row" } setParagraphStyle(n) { n.style.display = "table-cell", n.style.verticalAlign = "middle", n.style.textAlign = "center" } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-label"]], viewQuery: function (n, r) { if (1 & n && (at(dU, 7), at(fU, 7), at(hU, 7)), 2 & n) { let s; se(s = oe()) && (r.label = s.first), se(s = oe()) && (r.middleDiv = s.first), se(s = oe()) && (r.outerDiv = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 6, vars: 1, consts: [["outerDiv", ""], ["middleDiv", ""], [3, "innerHTML"], ["label", ""]], template: function (n, r) { 1 & n && (j(0, "div", null, 0)(2, "div", null, 1), Be(4, "p", 2, 3), U()()), 2 & n && (R(4), x("innerHTML", r.elementLabel, Lm)) } }), t })(); const gU = ["theButton"]; let _U = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.buttonLabel = "", this.disabledAttribute = !1 } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theButton.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.buttonLabel = this.attributeService.findGetAttributeValue("label", n, ""); let r = this.theButton.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addClasses(r, n, ["btn"], ["btn-info"]), this.attributeService.addGeneralAttributes(r, n), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = r.children.item(0); this.attributeService.addClasses(s, n, ["fa"], [], "icon"); let o = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == o ? this.disabledAttribute = !1 : "true" == o ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(o), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-button"]], viewQuery: function (n, r) { if (1 & n && at(gU, 5), 2 & n) { let s; se(s = oe()) && (r.theButton = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 5, vars: 2, consts: [["type", "button"], ["theButton", ""], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "button", 0, 1), Be(2, "i", null, 2), qe(4), U()), 2 & n && (Te("disabled", !!r.disabledAttribute || null), R(4), jt(r.buttonLabel)) } }), t })(); var mU = Ve(7); const vU = ["theImage"], yU = ["svgContainer"]; function bU(e, t) { if (1 & e && (j(0, "div"), Be(1, "img", 1, 2), U()), 2 & e) { const i = z(); R(1), x("src", i.imageSource, Jd) } } function DU(e, t) { 1 & e && Be(0, "div", null, 3) } let wU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.imageSource = "", this.imageType = "" } ngAfterViewInit() { if (null != this.element) { this.elementLookupService.addElementObject(this.element.id, this, this.element); let n = this.attributeService.findAttribute("image", this.element.attributes), r = this.attributeService.findAttribute("image_type", this.element.attributes); null != n && null != r && r.value.startsWith("clingraph") ? this.svgImageHandler(this.element, n, r) : this.defaultImageHandler(this.element, n), this.cd.detectChanges() } } setAttributes(n) { console.log("TODO?") } svgImageHandler(n, r, s) { const a = /\(([^,]+),\s*([^)]+)\)/; this.imageType = "svg", this.cd.detectChanges(); let l = mU.lW.from(r.value, "base64").toString("binary"); this.svgContainer.nativeElement.innerHTML = l, this.cd.detectChanges(); let c = this.svgContainer.nativeElement.querySelectorAll(".node, .edge"), u = []; n.children.forEach(g => { let _ = this.attributeService.findAttribute("clingraph_id", g.attributes); if (null != _) { let y = _.value; if ("svg_edge" == g.type) { const b = y.match(a); if (b) { y = b[1].replaceAll('"', "") + "--" + b[2].replaceAll('"', ""); let D = b[1].replaceAll('"', "") + "->" + b[2].replaceAll('"', ""); u.push({ key: D, value: g }) } else console.error("Invalid edge format expected a tuple (X,Y) but got ", y) } u.push({ key: y, value: g }) } }); let h = this.generateSvgNodeUiNodeAssociationList(c, u); this.addEventListeners(h), this.cd.detectChanges() } generateSvgNodeUiNodeAssociationList(n, r) { let s = []; return n.forEach(o => { let a = null; r.forEach(l => { if (o.id == l.key) a = l.value; else for (const c of Array.from(o.children)) "title" == c.tagName && c.innerHTML == l.key && (a = l.value) }), null != a ? (this.elementLookupService.addElementTagHTML(a.id, o, a), s.push({ svg: o, ui: a })) : console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!") }), s } addEventListeners(n) { n.forEach(r => { this.callbackService.setCallbacks(r.svg, r.ui.when) }) } defaultImageHandler(n, r) { this.imageType = "normal", this.cd.detectChanges(); let s = this.theImage.nativeElement; this.attributeService.addAttributes(s, n.attributes), this.attributeService.textAttributes(s, n.attributes), this.attributeService.setAttributesDirectly(s, n.attributes), this.callbackService.setCallbacks(s, n.when); let o = this.attributeService.findAttribute("image_path", n.attributes); null != r ? this.imageSource = "data:image/png;base64," + r.value : null != o && (this.imageSource = o.value) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-canvas"]], viewQuery: function (n, r) { if (1 & n && (at(vU, 5), at(yU, 5)), 2 & n) { let s; se(s = oe()) && (r.theImage = s.first), se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "src"], ["theImage", ""], ["svgContainer", ""]], template: function (n, r) { 1 & n && (B(0, bU, 3, 1, "div", 0), B(1, DU, 2, 0, "div", 0)), 2 & n && (x("ngIf", "normal" == r.imageType), R(1), x("ngIf", "svg" == r.imageType)) }, dependencies: [Ln] }), t })(), CU = (() => { var e; class t { constructor() { } toUserInputASP(n, r, s, o, a) { return `user_input(${n},${r},${s},${o},${a})` } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); const EU = ["svgContainer"]; function SU(e, t) { if (1 & e && Be(0, "textarea", 13), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name) } } function TU(e, t) { if (1 & e) { const i = Dn(); j(0, "input", 14), ce("click", function (r) { return on(i), an(z(2).checkClick(r)) }), U() } if (2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_checkbox_" + n.currID), x("formControlName", i.name) } } function MU(e, t) { if (1 & e && Be(0, "input", 15), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("type", i.type)("formControlName", i.name) } } function IU(e, t) { if (1 & e && (j(0, "option", 17), qe(1), U()), 2 & e) { const i = t.$implicit; Pn("value", i), R(1), jt(i) } } function NU(e, t) { if (1 & e && (j(0, "select", 13), B(1, IU, 2, 2, "option", 16), U()), 2 & e) { const i = z().$implicit, n = z(); Pn("id", i.name + "_" + n.currID), x("formControlName", i.name), R(1), x("ngForOf", n.retrieveSelectOptions(i)) } } function AU(e, t) { if (1 & e && (j(0, "div")(1, "label"), qe(2), U(), Be(3, "br"), B(4, SU, 1, 2, "textarea", 10), B(5, TU, 1, 2, "input", 11), B(6, MU, 1, 3, "input", 12), B(7, NU, 2, 3, "select", 10), U()), 2 & e) { const i = t.$implicit; R(2), jt(i.name), R(2), x("ngIf", "textarea" == i.type), R(1), x("ngIf", "checkbox" == i.type), R(1), x("ngIf", "textarea" != i.type && "checkbox" != i.type && "select" != i.type), R(1), x("ngIf", "select" == i.type) } } function OU(e, t) { if (1 & e && (j(0, "h2", 18), qe(1), U()), 2 & e) { const i = z(); R(1), jt(i.errStr) } } function xU(e, t) { 1 & e && (j(0, "h2"), qe(1, "No graph was created from your request."), U()) } let RU = (() => { var e; class t { constructor(n, r, s, o, a) { this.attributeService = n, this.frontendService = r, this.fb = s, this.cd = o, this.aspService = a, this.element = null, this.optionsForm = new Hr({}), this.svgString = "", this.type = "", this.nodeOptionsList = [], this.currID = "", this.optionsList = [], this.errStr = "" } ngAfterViewInit() { if (null != this.element) { let n = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes); if (null != n) { let r = n; this.svgString = r.data, this.svgContainer.nativeElement.innerHTML = this.svgString, this.nodeOptionsList = r.option_data, console.log("NodeOptions after init:", this.nodeOptionsList), console.log("form after init: ", this.optionsForm), this.cd.detectChanges() } } } retrieveSelectOptions(n) { return "options" in n ? n.options : [] } handleNodeClick(n) { let r = n.target, s = r.parentNode; if (null !== s && "g" == s.nodeName) { let o = s.getElementsByTagName("title")[0]; if (null !== o) { const a = o.textContent; null !== a && "" !== a && (s.id.startsWith("node") ? (this.type = "node", this.updateOptions(a, "node")) : r.id.startsWith("edge") && (this.type = "edge", this.updateOptions(a, "edge"))) } } } checkClick(n) { console.log("clicked box"); let r = n.target; console.log(r.getAttribute("value")), console.log(r.getAttribute("checked")), console.log("form: ", this.optionsForm) } updateOptions(n, r) { this.optionsList.forEach(o => { o.state = this.optionsForm.value[o.name] }), this.currID = n; let s = this.nodeOptionsList.filter(o => o.id == n && o.compType == r); if (1 != s.length) console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`), this.errStr = `Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`; else { this.optionsList = s.map(a => a.options).flat(); let o = new Hr({}); this.optionsList.forEach(a => { o.addControl(a.name, new jr("checkbox" == a.type ? "true" == a.state || 1 == a.state : a.state)) }), this.optionsForm = o, console.log("form after update: ", this.optionsForm), console.log(this.nodeOptionsList) } } submitForm() { this.errStr = ""; let n = [], r = this.optionsForm.value; console.log("Form: ", r), this.optionsList.forEach(a => { a.state = r[a.name] }), this.nodeOptionsList.forEach(a => { a.options.forEach(l => { n.push(this.aspService.toUserInputASP(a.compType, a.id, l.type, l.name, l.state)) }) }); let o = { function: `graphUpdate(${n.join(",")})` }; console.log(o), this.frontendService.uncheckedPost(o) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Tn), v(Bn), v(ZL), v(gt), v(CU)) }, e.\u0275cmp = et({ type: e, selectors: [["app-main-page"]], viewQuery: function (n, r) { if (1 & n && at(EU, 5), 2 & n) { let s; se(s = oe()) && (r.svgContainer = s.first) } }, inputs: { element: "element" }, decls: 13, vars: 4, consts: [[1, "row"], [1, "col", "left", 2, "flex-grow", "1"], [3, "formGroup", "ngSubmit"], [4, "ngFor", "ngForOf"], ["type", "submit", "value", "Submit"], [1, "col", "right", 2, "overflow", "scroll", "flex-grow", "10"], ["style", "color: red;", 4, "ngIf"], [3, "click"], ["svgContainer", ""], [4, "ngIf"], [3, "id", "formControlName", 4, "ngIf"], ["type", "checkbox", 3, "id", "formControlName", "click", 4, "ngIf"], [3, "id", "type", "formControlName", 4, "ngIf"], [3, "id", "formControlName"], ["type", "checkbox", 3, "id", "formControlName", "click"], [3, "id", "type", "formControlName"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [2, "color", "red"]], template: function (n, r) { 1 & n && (j(0, "div", 0)(1, "div", 1)(2, "label"), qe(3, "OPTIONS"), U(), Be(4, "br"), j(5, "form", 2), ce("ngSubmit", function () { return r.submitForm() }), B(6, AU, 8, 5, "div", 3), Be(7, "input", 4), U()(), j(8, "div", 5), B(9, OU, 2, 1, "h2", 6), j(10, "div", 7, 8), ce("click", function (o) { return r.handleNodeClick(o) }), U(), B(12, xU, 2, 0, "h2", 9), U()()), 2 & n && (R(5), x("formGroup", r.optionsForm), R(1), x("ngForOf", r.optionsList), R(3), x("ngIf", r.errStr.length > 0), R(3), x("ngIf", r.svgString.length <= 0)) }, dependencies: [kn, Ln, dw, yw, Dw, Qc, pp, cu, JD, QD, lu, Ap], styles: ['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}'] }), t })(); const PU = ["theTextfield"]; let FU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.parentLayout = "", this.placeholder = "", this.disabledAttribute = !1, this.inputType = "text" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.callbackService.setCallbacks(this.theTextfield.nativeElement, this.element.when), this.cd.detectChanges()) } setAttributes(n) { this.placeholder = this.attributeService.findGetAttributeValue("placeholder", n, ""), this.inputType = this.attributeService.findGetAttributeValue("input_type", n, "text"); let r = this.theTextfield.nativeElement; this.attributeService.setAttributesDirectly(r, n), this.attributeService.addAttributes(r, n), this.attributeService.textAttributes(r, n), this.attributeService.addGeneralAttributes(r, n), this.attributeService.addClasses(r, n, [], []), null != this.element && this.attributeService.setAbsoulteRelativePositions(this.parentLayout, r, this.element); let s = this.attributeService.findGetAttributeValue("disabled", n, "false"); "false" == s ? this.disabledAttribute = !1 : "true" == s ? this.disabledAttribute = !0 : (console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "), console.log(s), this.disabledAttribute = !1), this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-textfield"]], viewQuery: function (n, r) { if (1 & n && at(PU, 5), 2 & n) { let s; se(s = oe()) && (r.theTextfield = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 3, vars: 3, consts: [[1, "input-group"], ["aria-describedby", "basic-addon1", 1, "form-control", 3, "placeholder", "type"], ["theTextfield", ""]], template: function (n, r) { 1 & n && (j(0, "div", 0), Be(1, "input", 1, 2), U()), 2 & n && (R(1), Pn("type", r.inputType), x("placeholder", r.placeholder), Te("disabled", !!r.disabledAttribute || null)) } }), t })(); const kU = ["child"], LU = ["content"]; function BU(e, t) { if (1 & e) { const i = Dn(); j(0, "div", 1)(1, "h4", 2), qe(2), U(), j(3, "button", 3), ce("click", function () { return an(on(i).$implicit.dismiss("Cross click")) }), U()(), j(4, "div", 4), Be(5, "app-container", 5), U() } if (2 & e) { const i = z(); R(2), jt(i.modalTitle), R(3), x("element", i.element)("parentLayout", i.parentLayout) } } let cE = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.childBearerService = n, this.cd = r, this.attributeService = s, this.elementLookupService = o, this.modalService = a, this.modalRefService = l, this.element = null, this.parentLayout = "", this.container_id = "", this.container = null, this.modalTitle = "", this.modalRef = null, this.closeResult = "" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("visible", n), s = this.attributeService.findAttribute("title", n), o = this.attributeService.findAttribute("size", n); if (null != s && (this.modalTitle = s.value), null != r && null != this.element) { if ("shown" != r.value && "visible" != r.value || null != this.modalRef) null != this.modalRef && ("hidden" == r.value || "collapse" == r.value) && this.modalRef.close(); else { null != o && console.log(o.value); let a = null; a = null != o ? { ariaLabelledBy: "modal-basic-title", size: o.value } : { ariaLabelledBy: "modal-basic-title" }, this.modalRef = this.modalService.open(this.content, a), this.modalRefService.registerModal(this.element.id, this.modalRef), this.modalRef.result.then(l => { if (this.closeResult = `Closed with: ${l}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } this.modalRef = null }, l => { if (this.closeResult = `Dismissed ${this.getDismissReason(l)}`, null != this.element) for (let c = 0; c < this.element.attributes.length; c++) { let u = this.element.attributes[c]; ("shown" == u.key || "visible" == u.key) && (u.value = "hidden") } null != this.element && this.modalRefService.removeModalByKey(this.element.id), this.modalRef = null }) } this.cd.detectChanges() } } getDismissReason(n) { return n === Wa.ESC ? "by pressing ESC" : n === Wa.BACKDROP_CLICK ? "by clicking on a backdrop" : `with: ${n}` } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(gt), v(Tn), v(Xt), v(HC), v(lD)) }, e.\u0275cmp = et({ type: e, selectors: [["app-modal"]], viewQuery: function (n, r) { if (1 & n && (at(kU, 5, Cn), at(LU, 5, nt)), 2 & n) { let s; se(s = oe()) && (r.child = s.first), se(s = oe()) && (r.content = s.first) } }, inputs: { element: "element", parentLayout: "parentLayout" }, decls: 2, vars: 0, consts: [["content", ""], [1, "modal-header"], ["id", "modal-basic-title", 1, "modal-title"], ["type", "button", "aria-label", "Close", 1, "btn-close", 3, "click"], [1, "modal-body"], [3, "element", "parentLayout"]], template: function (n, r) { 1 & n && B(0, BU, 6, 3, "ng-template", null, 0, En) } }), t })(), VU = (() => { var e; class t { constructor() { } componentCreation(n, r) { let s = [{ key: "container", value: cD }, { key: "dropdown_menu", value: cU }, { key: "label", value: pU }, { key: "button", value: _U }, { key: "canvas", value: wU }, { key: "clingraph_interactive", value: RU }, { key: "textfield", value: FU }, { key: "modal", value: cE }], o = null, a = s.findIndex(l => l.key == r); return a >= 0 && (o = n.createComponent(s[a].value)), null == o && "menu_bar" != r && "context_menu" != r && "message" != r && console.log("Could not associate component key with an component: " + r), o } } return (e = t).\u0275fac = function (n) { return new (n || e) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(), Su = (() => { var e; class t { constructor(n, r, s) { this.componentService = n, this.elementLookupService = r, this.attributeService = s } bearChild(n, r, s) { let o = this.componentService.componentCreation(n, r.type); if (null != o) { o.setInput("element", r), o.setInput("parentLayout", s); let a = o.location.nativeElement; a.id = r.id, this.elementLookupService.addElementTagHTML(r.id, a, r), this.setAllTagAttributes(a, r, s) } return o } setAllTagAttributes(n, r, s) { "button" != r.type && this.attributeService.setAbsoulteRelativePositions(s, n, r), this.setChildTagAttributes(n, r) } setChildTagAttributes(n, r) { this.attributeService.setAttributesDirectly(n, r.attributes), this.attributeService.addGeneralAttributes(n, r.attributes), this.attributeService.addAttributes(n, r.attributes), "container" == r.type && (this.attributeService.setChildLayout(n, r.attributes), this.attributeService.setVisibility(n, r.attributes), this.attributeService.addClasses(n, r.attributes, [], ["p-2"])) } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(VU), L(Xt), L(Tn)) }, e.\u0275prov = G({ token: e, factory: e.\u0275fac, providedIn: "root" }), t })(); function HU(e, t) { if (1 & e) { const i = Dn(); j(0, "ngb-alert", 1), ce("closed", function () { return on(i), an(z().messageClosed()) }), j(1, "strong"), qe(2), U(), qe(3), U() } if (2 & e) { const i = z(); x("type", i.attrType)("dismissible", !0), R(2), jt(i.attrTitle), R(1), Ri(" ", i.attrMessage, "\n") } } let UU = (() => { var e; class t { constructor(n, r, s, o) { this.cd = n, this.callbackService = r, this.attributeService = s, this.elementLookupService = o, this.element = null, this.attrType = "", this.attrMessage = "", this.attrTitle = "", this.visible = "shown" } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findGetAttributeValue("type", n, "warning"), s = this.attributeService.findGetAttributeValue("title", n, ""), o = this.attributeService.findGetAttributeValue("message", n, ""); this.visible = this.attributeService.findGetAttributeValue("visible", n, "shown"), "error" == r && (r = "danger"), this.attrType = r, this.attrTitle = s, this.attrMessage = o, this.cd.detectChanges() } messageClosed() { this.visible = "hidden", this.cd.detectChanges() } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Fi), v(Tn), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-message"]], inputs: { element: "element" }, decls: 1, vars: 1, consts: [[3, "type", "dismissible", "closed", 4, "ngIf"], [3, "type", "dismissible", "closed"]], template: function (n, r) { 1 & n && B(0, HU, 4, 4, "ngb-alert", 0), 2 & n && x("ngIf", "shown" == r.visible) }, dependencies: [Ln, j3] }), t })(); function jU(e, t) { if (1 & e && (j(0, "li", 2)(1, "a"), Be(2, "i", 3), qe(3), U()()), 2 & e) { const i = t.$implicit; x("id", i.id), R(3), jt(i.text) } } let $U = (() => { var e; class t { constructor(n, r, s) { this.cd = n, this.attributeService = r, this.callbackService = s, this.element = null, this.menuId = "", this.buttonList = [] } ngAfterViewInit() { null != this.element && (this.menuId = "menu-" + this.element.id, this.element.children.forEach(n => { let r = n.id, s = this.attributeService.findGetAttributeValue("label", n.attributes, ""); this.buttonList.push({ id: r, text: s, attributes: n.attributes }) }), this.cd.detectChanges(), this.element.children.forEach(n => { let r = document.getElementById(n.id); null != r && this.callbackService.setCallbacks(r, n.when) }), this.cd.detectChanges(), this.buttonList.forEach(n => { let r = document.getElementById(n.id); if (null != r) { this.attributeService.addClasses(r, n.attributes, ["list-group-item", "list-group-item-action"], []); let s = r.children.item(0); if (null != s) { let o = s.children.item(0); null != o && this.attributeService.addClasses(o, n.attributes, ["fa"], [], "icon") } } })) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Tn), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-context-menu"]], inputs: { element: "element" }, decls: 2, vars: 1, consts: [["id", "menuId", 1, "list-group"], [3, "id", 4, "ngFor", "ngForOf"], [3, "id"], ["aria-hidden", "true", 1, "fa"]], template: function (n, r) { 1 & n && (j(0, "ul", 0), B(1, jU, 4, 2, "li", 1), U()), 2 & n && (R(1), x("ngForOf", r.buttonList)) }, dependencies: [kn], styles: [".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"] }), t })(); const GU = ["parent"], zU = ["child"]; function WU(e, t) { } function qU(e, t) { 1 & e && (j(0, "div", 5, 6), B(2, WU, 0, 0, "ng-template", null, 7, En), U()), 2 & e && Pn("id", z().window_id) } function YU(e, t) { 1 & e && Be(0, "app-message", 10), 2 & e && x("element", t.$implicit) } function ZU(e, t) { if (1 & e && (j(0, "div", 8), B(1, YU, 1, 1, "app-message", 9), U()), 2 & e) { const i = z(); R(1), x("ngForOf", i.messageList) } } function JU(e, t) { if (1 & e && Be(0, "app-context-menu", 11), 2 & e) { const i = t.$implicit; x("id", i.id)("element", i) } } let QU = (() => { var e; class t { constructor(n, r, s, o, a, l, c) { this.childBearerService = n, this.attributeService = r, this.cd = s, this.frontendService = o, this.elementLookupService = a, this.contextMenuService = l, this.callbackService = c, this.element = null, this.children = [], this.window_id = "", this.window = null, this.menuBar = null, this.messageList = [], this.contextMenuList = [] } ngAfterViewInit() { this.frontendService.messageLists.subscribe({ next: n => { this.messageList = n, this.cd.detectChanges() } }), this.frontendService.frontendJson.subscribe({ next: n => { this.children.forEach(l => { this.child.clear() }), this.children = [], this.cleanValues(n), this.frontendService.detectCreateMenuBar(n); let r = [], s = []; this.frontendService.getAllMessagesContextMenus(n, r, s), this.frontendService.messageLists.next(r), this.frontendService.contextMenus.subscribe(l => { l.forEach(c => { this.contextMenuService.registerContextMenu(c.id, c) }), this.contextMenuList = l }), this.frontendService.contextMenus.next(s); let o = n.children[0]; this.window_id = o.id, this.element = o, this.window = o, this.cd.detectChanges(); let a = this.attributeService.findGetAttributeValue("child_layout", o.attributes, "flex"); this.elementLookupService.addElementAll(this.window_id, this, this.parent.nativeElement, o), o.children.forEach(l => { let c = this.childBearerService.bearChild(this.child, l, a); null != c && this.children.push(c) }), this.setAttributes(o.attributes), this.doCallbacks(o.when), this.cd.detectChanges() }, error: n => console.log(n) }), this.frontendService.initialGet() } setAttributes(n) { let r = this.parent.nativeElement; this.attributeService.setChildLayout(r, n), this.attributeService.addAttributes(r, n), this.attributeService.addClasses(r, n, [], []), this.cd.detectChanges() } doCallbacks(n) { this.callbackService.setCallbacks(this.parent.nativeElement, n) } cleanValues(n) { for (let r = 0; r < n.attributes.length; r++) { let s = n.attributes[r].value; s = this.stringSanitizer(s), n.attributes[r].value = s; let o = n.attributes[r].key; o = this.stringSanitizer(o), n.attributes[r].key = o, "image" != o && (s = s.replace("\\n", "
")) } for (let r = 0; r < n.when.length; r++) { void 0 !== n.when[r].event && (n.when[r].actionType = n.when[r].event), void 0 !== n.when[r].action && (n.when[r].interactionType = n.when[r].action); let s = n.when[r].operation; s = this.stringSanitizer(s), n.when[r].operation = s; let o = n.when[r].actionType; o = this.stringSanitizer(o), n.when[r].actionType = o; let a = n.when[r].interactionType; a = this.stringSanitizer(a), n.when[r].interactionType = a } n.children.forEach(r => { this.cleanValues(r) }) } stringSanitizer(n) { return null == n || (n.length > 0 && '"' == n[0] && (n = n.slice(1)), n.length > 0 && '"' == n[n.length - 1] && (n = n.slice(0, -1))), n } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Su), v(Tn), v(gt), v(Bn), v(Xt), v(Ma), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-new-main"]], viewQuery: function (n, r) { if (1 & n && (at(GU, 5), at(zU, 5, Cn)), 2 & n) { let s; se(s = oe()) && (r.parent = s.first), se(s = oe()) && (r.child = s.first) } }, decls: 5, vars: 3, consts: [["style", "margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;", 3, "id", 4, "ngIf"], ["id", "loader", 1, "myspinner", "clearfix", "p-3"], ["role", "status", 1, "spinner-border", "text-black", "float-end"], ["style", "position: fixed; bottom:0;", 4, "ngIf"], ["style", "display: none; position: absolute;", 3, "id", "element", 4, "ngFor", "ngForOf"], [2, "margin-top", "5px", "margin-bottom", "10px", "margin-right", "10px", "margin-left", "15px", 3, "id"], ["parent", ""], ["child", ""], [2, "position", "fixed", "bottom", "0"], [3, "element", 4, "ngFor", "ngForOf"], [3, "element"], [2, "display", "none", "position", "absolute", 3, "id", "element"]], template: function (n, r) { 1 & n && (B(0, qU, 4, 1, "div", 0), j(1, "div", 1), Be(2, "div", 2), U(), B(3, ZU, 2, 1, "div", 3), B(4, JU, 1, 2, "app-context-menu", 4)), 2 & n && (x("ngIf", null != r.window), R(3), x("ngIf", null != r.window), R(1), x("ngForOf", r.contextMenuList)) }, dependencies: [kn, Ln, UU, $U] }), t })(); const KU = ["titleIcon"]; function XU(e, t) { if (1 & e && (j(0, "button", 4), Be(1, "i", null, 5), qe(3), U()), 2 & e) { const i = t.$implicit; Pn("id", i.id), R(3), Ri(" ", i.title, "") } } let ej = (() => { var e; class t { constructor(n, r, s, o, a, l) { this.cd = n, this.displayFrontend = r, this.callbackService = s, this.attributeService = o, this.elementLookupService = a, this.callBackHelperService = l, this.element = null, this.isCollapsed = !0, this.title = "", this.menuBarButtons = [] } ngAfterViewInit() { null != this.element && (this.elementLookupService.addElementObject(this.element.id, this, this.element), this.element.children.forEach(n => { let r = this.attributeService.findGetAttributeValue("label", n.attributes, ""), s = new tj(n.id, r, n); this.elementLookupService.addElementObject(n.id, s, n), this.menuBarButtons.push(s) }), this.cd.detectChanges(), this.menuBarButtons.forEach(n => { let r = document.getElementById(n.id); if (null != r) { n.setHtmlElement(r), n.setAttributes(n.element.attributes), this.attributeService.addClasses(r, n.element.attributes, ["btn-sm", "mx-1"], ["btn-outline-dark", "border-0"]), this.callBackHelperService.setCallbacks(r, n.element.when); let s = r.children.item(0); null != s && this.attributeService.addClasses(s, n.element.attributes, ["fa"], [], "icon") } }), this.setAttributes(this.element.attributes), this.cd.detectChanges()) } setAttributes(n) { let r = this.attributeService.findAttribute("title", n); null != r && (this.title = r.value), this.attributeService.addClasses(this.titleIcon.nativeElement, n, ["fa"], [], "icon"), this.cd.detectChanges() } operationExecutor(n) { null != n && this.displayFrontend.operationPost(n) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(gt), v(Bn), v(Fi), v(Tn), v(Xt), v(Fi)) }, e.\u0275cmp = et({ type: e, selectors: [["app-menu-bar"]], viewQuery: function (n, r) { if (1 & n && at(KU, 5), 2 & n) { let s; se(s = oe()) && (r.titleIcon = s.first) } }, inputs: { element: "element" }, decls: 7, vars: 2, consts: [[1, "navbar", "navbar-expand", "bg-light", "justify-content-between"], [1, "navbar-brand", "mx-3", "text-dark"], ["titleIcon", ""], ["type", "button", "class", "btn", 3, "id", 4, "ngFor", "ngForOf"], ["type", "button", 1, "btn", 3, "id"], ["icon", ""]], template: function (n, r) { 1 & n && (j(0, "nav", 0)(1, "a", 1), Be(2, "i", null, 2), qe(4), U(), j(5, "div"), B(6, XU, 4, 2, "button", 3), U()()), 2 & n && (R(4), Ri(" ", r.title, " "), R(2), x("ngForOf", r.menuBarButtons)) }, dependencies: [kn] }), t })(); class tj { constructor(t, i, n) { this.id = "", this.title = "", this.htmlElement = null, this.id = t, this.title = i, this.element = n } setHtmlElement(t) { this.htmlElement = t } setAttributes(t) { let i = t.find(n => "label" == n.key); this.title = null != i ? i.value : "" } } const nj = ["contentWrapper"]; function ij(e, t) { 1 & e && Be(0, "app-menu-bar", 3), 2 & e && x("element", z().menuBar) } let rj = (() => { var e; class t { constructor(n, r, s) { this.frontendService = n, this.cd = r, this.elementLookupService = s, this.title = "Clinguin", this.menuBar = null, this.messageList = [] } ngAfterViewInit() { this.frontendService.menuBar.subscribe({ next: n => { this.menuBar = null, this.cd.detectChanges(), this.menuBar = n, this.cd.detectChanges() } }), this.contentWrapper.nativeElement.addEventListener("click", function () { $t.injector.get(Xt).elementLookup.forEach(r => { "menu_bar_section" == r.element.type && null != r.object && "collapsed" in r.object && 0 == r.object.collapsed && (r.object.collapsed = !0) }) }) } } return (e = t).\u0275fac = function (n) { return new (n || e)(v(Bn), v(gt), v(Xt)) }, e.\u0275cmp = et({ type: e, selectors: [["app-root"]], viewQuery: function (n, r) { if (1 & n && at(nj, 5), 2 & n) { let s; se(s = oe()) && (r.contentWrapper = s.first) } }, decls: 4, vars: 1, consts: [[3, "element", 4, "ngIf"], [1, "content-wrapper"], ["contentWrapper", ""], [3, "element"]], template: function (n, r) { 1 & n && (B(0, ij, 1, 1, "app-menu-bar", 0), j(1, "div", 1, 2), Be(3, "app-new-main"), U()), 2 & n && x("ngIf", null != r.menuBar) }, dependencies: [Ln, QU, ej], styles: ["div.content-wrapper[_ngcontent-%COMP%]{padding-top:1%}"] }), t })(); function sj(e) { return () => e.load() } let oj = (() => { var e; class t { constructor(n) { this.injector = n, $t.injector = n } } return (e = t).\u0275fac = function (n) { return new (n || e)(L(Jt)) }, e.\u0275mod = Pe({ type: e, bootstrap: [rj] }), e.\u0275inj = Ae({ providers: [{ provide: D1, useFactory: sj, deps: [aD], multi: !0 }], imports: [Hk, QL, JL, yb, v2, oU, Yp] }), t })(); (function zg(e, t, i) { const n = e.\u0275cmp; n.directiveDefs = al(t, !1), n.pipeDefs = al(i, !0) })(cE, [cD], []), Bk().bootstrapModule(oj).catch(e => console.error(e)) }, 919: (_i, qt) => { "use strict"; qt.byteLength = function He(Z) { var le = ye(Z), Qe = le[1]; return 3 * (le[0] + Qe) / 4 - Qe }, qt.toByteArray = function ut(Z) { var le, Ct, be = ye(Z), Qe = be[0], Ke = be[1], xe = new ct(function M(Z, le, be) { return 3 * (le + be) / 4 - be }(0, Qe, Ke)), It = 0, en = Ke > 0 ? Qe - 4 : Qe; for (Ct = 0; Ct < en; Ct += 4)le = $[Z.charCodeAt(Ct)] << 18 | $[Z.charCodeAt(Ct + 1)] << 12 | $[Z.charCodeAt(Ct + 2)] << 6 | $[Z.charCodeAt(Ct + 3)], xe[It++] = le >> 16 & 255, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le; return 2 === Ke && (le = $[Z.charCodeAt(Ct)] << 2 | $[Z.charCodeAt(Ct + 1)] >> 4, xe[It++] = 255 & le), 1 === Ke && (le = $[Z.charCodeAt(Ct)] << 10 | $[Z.charCodeAt(Ct + 1)] << 4 | $[Z.charCodeAt(Ct + 2)] >> 2, xe[It++] = le >> 8 & 255, xe[It++] = 255 & le), xe }, qt.fromByteArray = function wt(Z) { for (var le, be = Z.length, Qe = be % 3, Ke = [], It = 0, en = be - Qe; It < en; It += 16383)Ke.push(dt(Z, It, It + 16383 > en ? en : It + 16383)); return 1 === Qe ? Ke.push(Ve[(le = Z[be - 1]) >> 2] + Ve[le << 4 & 63] + "==") : 2 === Qe && Ke.push(Ve[(le = (Z[be - 2] << 8) + Z[be - 1]) >> 10] + Ve[le >> 4 & 63] + Ve[le << 2 & 63] + "="), Ke.join("") }; for (var Ve = [], $ = [], ct = typeof Uint8Array < "u" ? Uint8Array : Array, Je = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", ke = 0; ke < 64; ++ke)Ve[ke] = Je[ke], $[Je.charCodeAt(ke)] = ke; function ye(Z) { var le = Z.length; if (le % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var be = Z.indexOf("="); return -1 === be && (be = le), [be, be === le ? 0 : 4 - be % 4] } function Ue(Z) { return Ve[Z >> 18 & 63] + Ve[Z >> 12 & 63] + Ve[Z >> 6 & 63] + Ve[63 & Z] } function dt(Z, le, be) { for (var Ke = [], xe = le; xe < be; xe += 3)Ke.push(Ue((Z[xe] << 16 & 16711680) + (Z[xe + 1] << 8 & 65280) + (255 & Z[xe + 2]))); return Ke.join("") } $["-".charCodeAt(0)] = 62, $["_".charCodeAt(0)] = 63 }, 7: (_i, qt, Ve) => { "use strict"; var ct = Ve(919), Je = Ve(601), ke = "function" == typeof Symbol && "function" == typeof Symbol.for ? Symbol.for("nodejs.util.inspect.custom") : null; qt.lW = M, qt.h2 = 50; var de = 2147483647; function He(p) { if (p > de) throw new RangeError('The value "' + p + '" is invalid for option "size"'); var d = new Uint8Array(p); return Object.setPrototypeOf(d, M.prototype), d } function M(p, d, f) { if ("number" == typeof p) { if ("string" == typeof d) throw new TypeError('The "string" argument must be of type string. Received type number'); return wt(p) } return ut(p, d, f) } function ut(p, d, f) { if ("string" == typeof p) return function Z(p, d) { if (("string" != typeof d || "" === d) && (d = "utf8"), !M.isEncoding(d)) throw new TypeError("Unknown encoding: " + d); var f = 0 | en(p, d), m = He(f), w = m.write(p, d); return w !== f && (m = m.slice(0, w)), m }(p, d); if (ArrayBuffer.isView(p)) return function be(p) { if (tn(p, Uint8Array)) { var d = new Uint8Array(p); return Qe(d.buffer, d.byteOffset, d.byteLength) } return le(p) }(p); if (null == p) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p); if (tn(p, ArrayBuffer) || p && tn(p.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (tn(p, SharedArrayBuffer) || p && tn(p.buffer, SharedArrayBuffer))) return Qe(p, d, f); if ("number" == typeof p) throw new TypeError('The "value" argument must not be of type number. Received type number'); var m = p.valueOf && p.valueOf(); if (null != m && m !== p) return M.from(m, d, f); var w = function Ke(p) { if (M.isBuffer(p)) { var d = 0 | xe(p.length), f = He(d); return 0 === f.length || p.copy(f, 0, 0, d), f } return void 0 !== p.length ? "number" != typeof p.length || S(p.length) ? He(0) : le(p) : "Buffer" === p.type && Array.isArray(p.data) ? le(p.data) : void 0 }(p); if (w) return w; if (typeof Symbol < "u" && null != Symbol.toPrimitive && "function" == typeof p[Symbol.toPrimitive]) return M.from(p[Symbol.toPrimitive]("string"), d, f); throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof p) } function Ue(p) { if ("number" != typeof p) throw new TypeError('"size" argument must be of type number'); if (p < 0) throw new RangeError('The value "' + p + '" is invalid for option "size"') } function wt(p) { return Ue(p), He(p < 0 ? 0 : 0 | xe(p)) } function le(p) { for (var d = p.length < 0 ? 0 : 0 | xe(p.length), f = He(d), m = 0; m < d; m += 1)f[m] = 255 & p[m]; return f } function Qe(p, d, f) { if (d < 0 || p.byteLength < d) throw new RangeError('"offset" is outside of buffer bounds'); if (p.byteLength < d + (f || 0)) throw new RangeError('"length" is outside of buffer bounds'); var m; return m = void 0 === d && void 0 === f ? new Uint8Array(p) : void 0 === f ? new Uint8Array(p, d) : new Uint8Array(p, d, f), Object.setPrototypeOf(m, M.prototype), m } function xe(p) { if (p >= de) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + de.toString(16) + " bytes"); return 0 | p } function en(p, d) { if (M.isBuffer(p)) return p.length; if (ArrayBuffer.isView(p) || tn(p, ArrayBuffer)) return p.byteLength; if ("string" != typeof p) throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof p); var f = p.length, m = arguments.length > 2 && !0 === arguments[2]; if (!m && 0 === f) return 0; for (var w = !1; ;)switch (d) { case "ascii": case "latin1": case "binary": return f; case "utf8": case "utf-8": return Zi(p).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * f; case "hex": return f >>> 1; case "base64": return Ji(p).length; default: if (w) return m ? -1 : Zi(p).length; d = ("" + d).toLowerCase(), w = !0 } } function Ct(p, d, f) { var m = !1; if ((void 0 === d || d < 0) && (d = 0), d > this.length || ((void 0 === f || f > this.length) && (f = this.length), f <= 0) || (f >>>= 0) <= (d >>>= 0)) return ""; for (p || (p = "utf8"); ;)switch (p) { case "hex": return bo(this, d, f); case "utf8": case "utf-8": return yo(this, d, f); case "ascii": return ss(this, d, f); case "latin1": case "binary": return os(this, d, f); case "base64": return yi(this, d, f); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return as(this, d, f); default: if (m) throw new TypeError("Unknown encoding: " + p); p = (p + "").toLowerCase(), m = !0 } } function Et(p, d, f) { var m = p[d]; p[d] = p[f], p[f] = m } function mr(p, d, f, m, w) { if (0 === p.length) return -1; if ("string" == typeof f ? (m = f, f = 0) : f > 2147483647 ? f = 2147483647 : f < -2147483648 && (f = -2147483648), S(f = +f) && (f = w ? 0 : p.length - 1), f < 0 && (f = p.length + f), f >= p.length) { if (w) return -1; f = p.length - 1 } else if (f < 0) { if (!w) return -1; f = 0 } if ("string" == typeof d && (d = M.from(d, m)), M.isBuffer(d)) return 0 === d.length ? -1 : mi(p, d, f, m, w); if ("number" == typeof d) return d &= 255, "function" == typeof Uint8Array.prototype.indexOf ? w ? Uint8Array.prototype.indexOf.call(p, d, f) : Uint8Array.prototype.lastIndexOf.call(p, d, f) : mi(p, [d], f, m, w); throw new TypeError("val must be string, number or Buffer") } function mi(p, d, f, m, w) { var Ce, I = 1, N = p.length, q = d.length; if (void 0 !== m && ("ucs2" === (m = String(m).toLowerCase()) || "ucs-2" === m || "utf16le" === m || "utf-16le" === m)) { if (p.length < 2 || d.length < 2) return -1; I = 2, N /= 2, q /= 2, f /= 2 } function he(bi, st) { return 1 === I ? bi[st] : bi.readUInt16BE(st * I) } if (w) { var rt = -1; for (Ce = f; Ce < N; Ce++)if (he(p, Ce) === he(d, -1 === rt ? 0 : Ce - rt)) { if (-1 === rt && (rt = Ce), Ce - rt + 1 === q) return rt * I } else -1 !== rt && (Ce -= Ce - rt), rt = -1 } else for (f + q > N && (f = N - q), Ce = f; Ce >= 0; Ce--) { for (var Le = !0, Xe = 0; Xe < q; Xe++)if (he(p, Ce + Xe) !== he(d, Xe)) { Le = !1; break } if (Le) return Ce } return -1 } function vi(p, d, f, m) { f = Number(f) || 0; var w = p.length - f; m ? (m = Number(m)) > w && (m = w) : m = w; var I = d.length; m > I / 2 && (m = I / 2); for (var N = 0; N < m; ++N) { var q = parseInt(d.substr(2 * N, 2), 16); if (S(q)) return N; p[f + N] = q } return N } function vo(p, d, f, m) { return Qi(Zi(d, p.length - f), p, f, m) } function vr(p, d, f, m) { return Qi(function Ja(p) { for (var d = [], f = 0; f < p.length; ++f)d.push(255 & p.charCodeAt(f)); return d }(d), p, f, m) } function rs(p, d, f, m) { return Qi(Ji(d), p, f, m) } function yr(p, d, f, m) { return Qi(function Dr(p, d) { for (var f, m, I = [], N = 0; N < p.length && !((d -= 2) < 0); ++N)m = (f = p.charCodeAt(N)) >> 8, I.push(f % 256), I.push(m); return I }(d, p.length - f), p, f, m) } function yi(p, d, f) { return ct.fromByteArray(0 === d && f === p.length ? p : p.slice(d, f)) } function yo(p, d, f) { f = Math.min(p.length, f); for (var m = [], w = d; w < f;) { var he, Ce, rt, Le, I = p[w], N = null, q = I > 239 ? 4 : I > 223 ? 3 : I > 191 ? 2 : 1; if (w + q <= f) switch (q) { case 1: I < 128 && (N = I); break; case 2: 128 == (192 & (he = p[w + 1])) && (Le = (31 & I) << 6 | 63 & he) > 127 && (N = Le); break; case 3: Ce = p[w + 2], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && (Le = (15 & I) << 12 | (63 & he) << 6 | 63 & Ce) > 2047 && (Le < 55296 || Le > 57343) && (N = Le); break; case 4: Ce = p[w + 2], rt = p[w + 3], 128 == (192 & (he = p[w + 1])) && 128 == (192 & Ce) && 128 == (192 & rt) && (Le = (15 & I) << 18 | (63 & he) << 12 | (63 & Ce) << 6 | 63 & rt) > 65535 && Le < 1114112 && (N = Le) }null === N ? (N = 65533, q = 1) : N > 65535 && (m.push((N -= 65536) >>> 10 & 1023 | 55296), N = 56320 | 1023 & N), m.push(N), w += q } return function ze(p) { var d = p.length; if (d <= br) return String.fromCharCode.apply(String, p); for (var f = "", m = 0; m < d;)f += String.fromCharCode.apply(String, p.slice(m, m += br)); return f }(m) } !(M.TYPED_ARRAY_SUPPORT = function ye() { try { var p = new Uint8Array(1), d = { foo: function () { return 42 } }; return Object.setPrototypeOf(d, Uint8Array.prototype), Object.setPrototypeOf(p, d), 42 === p.foo() } catch { return !1 } }()) && typeof console < "u" && "function" == typeof console.error && console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."), Object.defineProperty(M.prototype, "parent", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.buffer } }), Object.defineProperty(M.prototype, "offset", { enumerable: !0, get: function () { if (M.isBuffer(this)) return this.byteOffset } }), M.poolSize = 8192, M.from = function (p, d, f) { return ut(p, d, f) }, Object.setPrototypeOf(M.prototype, Uint8Array.prototype), Object.setPrototypeOf(M, Uint8Array), M.alloc = function (p, d, f) { return function dt(p, d, f) { return Ue(p), p <= 0 ? He(p) : void 0 !== d ? "string" == typeof f ? He(p).fill(d, f) : He(p).fill(d) : He(p) }(p, d, f) }, M.allocUnsafe = function (p) { return wt(p) }, M.allocUnsafeSlow = function (p) { return wt(p) }, M.isBuffer = function (d) { return null != d && !0 === d._isBuffer && d !== M.prototype }, M.compare = function (d, f) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), tn(f, Uint8Array) && (f = M.from(f, f.offset, f.byteLength)), !M.isBuffer(d) || !M.isBuffer(f)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); if (d === f) return 0; for (var m = d.length, w = f.length, I = 0, N = Math.min(m, w); I < N; ++I)if (d[I] !== f[I]) { m = d[I], w = f[I]; break } return m < w ? -1 : w < m ? 1 : 0 }, M.isEncoding = function (d) { switch (String(d).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, M.concat = function (d, f) { if (!Array.isArray(d)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === d.length) return M.alloc(0); var m; if (void 0 === f) for (f = 0, m = 0; m < d.length; ++m)f += d[m].length; var w = M.allocUnsafe(f), I = 0; for (m = 0; m < d.length; ++m) { var N = d[m]; if (tn(N, Uint8Array)) I + N.length > w.length ? M.from(N).copy(w, I) : Uint8Array.prototype.set.call(w, N, I); else { if (!M.isBuffer(N)) throw new TypeError('"list" argument must be an Array of Buffers'); N.copy(w, I) } I += N.length } return w }, M.byteLength = en, M.prototype._isBuffer = !0, M.prototype.swap16 = function () { var d = this.length; if (d % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var f = 0; f < d; f += 2)Et(this, f, f + 1); return this }, M.prototype.swap32 = function () { var d = this.length; if (d % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var f = 0; f < d; f += 4)Et(this, f, f + 3), Et(this, f + 1, f + 2); return this }, M.prototype.swap64 = function () { var d = this.length; if (d % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var f = 0; f < d; f += 8)Et(this, f, f + 7), Et(this, f + 1, f + 6), Et(this, f + 2, f + 5), Et(this, f + 3, f + 4); return this }, M.prototype.toLocaleString = M.prototype.toString = function () { var d = this.length; return 0 === d ? "" : 0 === arguments.length ? yo(this, 0, d) : Ct.apply(this, arguments) }, M.prototype.equals = function (d) { if (!M.isBuffer(d)) throw new TypeError("Argument must be a Buffer"); return this === d || 0 === M.compare(this, d) }, M.prototype.inspect = function () { var d = "", f = qt.h2; return d = this.toString("hex", 0, f).replace(/(.{2})/g, "$1 ").trim(), this.length > f && (d += " ... "), "" }, ke && (M.prototype[ke] = M.prototype.inspect), M.prototype.compare = function (d, f, m, w, I) { if (tn(d, Uint8Array) && (d = M.from(d, d.offset, d.byteLength)), !M.isBuffer(d)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof d); if (void 0 === f && (f = 0), void 0 === m && (m = d ? d.length : 0), void 0 === w && (w = 0), void 0 === I && (I = this.length), f < 0 || m > d.length || w < 0 || I > this.length) throw new RangeError("out of range index"); if (w >= I && f >= m) return 0; if (w >= I) return -1; if (f >= m) return 1; if (this === d) return 0; for (var N = (I >>>= 0) - (w >>>= 0), q = (m >>>= 0) - (f >>>= 0), he = Math.min(N, q), Ce = this.slice(w, I), rt = d.slice(f, m), Le = 0; Le < he; ++Le)if (Ce[Le] !== rt[Le]) { N = Ce[Le], q = rt[Le]; break } return N < q ? -1 : q < N ? 1 : 0 }, M.prototype.includes = function (d, f, m) { return -1 !== this.indexOf(d, f, m) }, M.prototype.indexOf = function (d, f, m) { return mr(this, d, f, m, !0) }, M.prototype.lastIndexOf = function (d, f, m) { return mr(this, d, f, m, !1) }, M.prototype.write = function (d, f, m, w) { if (void 0 === f) w = "utf8", m = this.length, f = 0; else if (void 0 === m && "string" == typeof f) w = f, m = this.length, f = 0; else { if (!isFinite(f)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); f >>>= 0, isFinite(m) ? (m >>>= 0, void 0 === w && (w = "utf8")) : (w = m, m = void 0) } var I = this.length - f; if ((void 0 === m || m > I) && (m = I), d.length > 0 && (m < 0 || f < 0) || f > this.length) throw new RangeError("Attempt to write outside buffer bounds"); w || (w = "utf8"); for (var N = !1; ;)switch (w) { case "hex": return vi(this, d, f, m); case "utf8": case "utf-8": return vo(this, d, f, m); case "ascii": case "latin1": case "binary": return vr(this, d, f, m); case "base64": return rs(this, d, f, m); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return yr(this, d, f, m); default: if (N) throw new TypeError("Unknown encoding: " + w); w = ("" + w).toLowerCase(), N = !0 } }, M.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var br = 4096; function ss(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(127 & p[w]); return m } function os(p, d, f) { var m = ""; f = Math.min(p.length, f); for (var w = d; w < f; ++w)m += String.fromCharCode(p[w]); return m } function bo(p, d, f) { var m = p.length; (!d || d < 0) && (d = 0), (!f || f < 0 || f > m) && (f = m); for (var w = "", I = d; I < f; ++I)w += E[p[I]]; return w } function as(p, d, f) { for (var m = p.slice(d, f), w = "", I = 0; I < m.length - 1; I += 2)w += String.fromCharCode(m[I] + 256 * m[I + 1]); return w } function ee(p, d, f) { if (p % 1 != 0 || p < 0) throw new RangeError("offset is not uint"); if (p + d > f) throw new RangeError("Trying to access beyond buffer length") } function Rt(p, d, f, m, w, I) { if (!M.isBuffer(p)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (d > w || d < I) throw new RangeError('"value" argument is out of bounds'); if (f + m > p.length) throw new RangeError("Index out of range") } function ls(p, d, f, m, w, I) { if (f + m > p.length) throw new RangeError("Index out of range"); if (f < 0) throw new RangeError("Index out of range") } function mt(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 4), Je.write(p, d, f, m, 23, 4), f + 4 } function ft(p, d, f, m, w) { return d = +d, f >>>= 0, w || ls(p, 0, f, 8), Je.write(p, d, f, m, 52, 8), f + 8 } M.prototype.slice = function (d, f) { var m = this.length; (d = ~~d) < 0 ? (d += m) < 0 && (d = 0) : d > m && (d = m), (f = void 0 === f ? m : ~~f) < 0 ? (f += m) < 0 && (f = 0) : f > m && (f = m), f < d && (f = d); var w = this.subarray(d, f); return Object.setPrototypeOf(w, M.prototype), w }, M.prototype.readUintLE = M.prototype.readUIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w }, M.prototype.readUintBE = M.prototype.readUIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d + --f], I = 1; f > 0 && (I *= 256);)w += this[d + --f] * I; return w }, M.prototype.readUint8 = M.prototype.readUInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), this[d] }, M.prototype.readUint16LE = M.prototype.readUInt16LE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] | this[d + 1] << 8 }, M.prototype.readUint16BE = M.prototype.readUInt16BE = function (d, f) { return d >>>= 0, f || ee(d, 2, this.length), this[d] << 8 | this[d + 1] }, M.prototype.readUint32LE = M.prototype.readUInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), (this[d] | this[d + 1] << 8 | this[d + 2] << 16) + 16777216 * this[d + 3] }, M.prototype.readUint32BE = M.prototype.readUInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), 16777216 * this[d] + (this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3]) }, M.prototype.readIntLE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = this[d], I = 1, N = 0; ++N < f && (I *= 256);)w += this[d + N] * I; return w >= (I *= 128) && (w -= Math.pow(2, 8 * f)), w }, M.prototype.readIntBE = function (d, f, m) { d >>>= 0, f >>>= 0, m || ee(d, f, this.length); for (var w = f, I = 1, N = this[d + --w]; w > 0 && (I *= 256);)N += this[d + --w] * I; return N >= (I *= 128) && (N -= Math.pow(2, 8 * f)), N }, M.prototype.readInt8 = function (d, f) { return d >>>= 0, f || ee(d, 1, this.length), 128 & this[d] ? -1 * (255 - this[d] + 1) : this[d] }, M.prototype.readInt16LE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d] | this[d + 1] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt16BE = function (d, f) { d >>>= 0, f || ee(d, 2, this.length); var m = this[d + 1] | this[d] << 8; return 32768 & m ? 4294901760 | m : m }, M.prototype.readInt32LE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] | this[d + 1] << 8 | this[d + 2] << 16 | this[d + 3] << 24 }, M.prototype.readInt32BE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), this[d] << 24 | this[d + 1] << 16 | this[d + 2] << 8 | this[d + 3] }, M.prototype.readFloatLE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !0, 23, 4) }, M.prototype.readFloatBE = function (d, f) { return d >>>= 0, f || ee(d, 4, this.length), Je.read(this, d, !1, 23, 4) }, M.prototype.readDoubleLE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !0, 52, 8) }, M.prototype.readDoubleBE = function (d, f) { return d >>>= 0, f || ee(d, 8, this.length), Je.read(this, d, !1, 52, 8) }, M.prototype.writeUintLE = M.prototype.writeUIntLE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = 1, q = 0; for (this[f] = 255 & d; ++q < m && (N *= 256);)this[f + q] = d / N & 255; return f + m }, M.prototype.writeUintBE = M.prototype.writeUIntBE = function (d, f, m, w) { d = +d, f >>>= 0, m >>>= 0, w || Rt(this, d, f, m, Math.pow(2, 8 * m) - 1, 0); var N = m - 1, q = 1; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)this[f + N] = d / q & 255; return f + m }, M.prototype.writeUint8 = M.prototype.writeUInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 255, 0), this[f] = 255 & d, f + 1 }, M.prototype.writeUint16LE = M.prototype.writeUInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeUint16BE = M.prototype.writeUInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 65535, 0), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeUint32LE = M.prototype.writeUInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f + 3] = d >>> 24, this[f + 2] = d >>> 16, this[f + 1] = d >>> 8, this[f] = 255 & d, f + 4 }, M.prototype.writeUint32BE = M.prototype.writeUInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 4294967295, 0), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeIntLE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = 0, q = 1, he = 0; for (this[f] = 255 & d; ++N < m && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N - 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeIntBE = function (d, f, m, w) { if (d = +d, f >>>= 0, !w) { var I = Math.pow(2, 8 * m - 1); Rt(this, d, f, m, I - 1, -I) } var N = m - 1, q = 1, he = 0; for (this[f + N] = 255 & d; --N >= 0 && (q *= 256);)d < 0 && 0 === he && 0 !== this[f + N + 1] && (he = 1), this[f + N] = (d / q >> 0) - he & 255; return f + m }, M.prototype.writeInt8 = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 1, 127, -128), d < 0 && (d = 255 + d + 1), this[f] = 255 & d, f + 1 }, M.prototype.writeInt16LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = 255 & d, this[f + 1] = d >>> 8, f + 2 }, M.prototype.writeInt16BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 2, 32767, -32768), this[f] = d >>> 8, this[f + 1] = 255 & d, f + 2 }, M.prototype.writeInt32LE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), this[f] = 255 & d, this[f + 1] = d >>> 8, this[f + 2] = d >>> 16, this[f + 3] = d >>> 24, f + 4 }, M.prototype.writeInt32BE = function (d, f, m) { return d = +d, f >>>= 0, m || Rt(this, d, f, 4, 2147483647, -2147483648), d < 0 && (d = 4294967295 + d + 1), this[f] = d >>> 24, this[f + 1] = d >>> 16, this[f + 2] = d >>> 8, this[f + 3] = 255 & d, f + 4 }, M.prototype.writeFloatLE = function (d, f, m) { return mt(this, d, f, !0, m) }, M.prototype.writeFloatBE = function (d, f, m) { return mt(this, d, f, !1, m) }, M.prototype.writeDoubleLE = function (d, f, m) { return ft(this, d, f, !0, m) }, M.prototype.writeDoubleBE = function (d, f, m) { return ft(this, d, f, !1, m) }, M.prototype.copy = function (d, f, m, w) { if (!M.isBuffer(d)) throw new TypeError("argument should be a Buffer"); if (m || (m = 0), !w && 0 !== w && (w = this.length), f >= d.length && (f = d.length), f || (f = 0), w > 0 && w < m && (w = m), w === m || 0 === d.length || 0 === this.length) return 0; if (f < 0) throw new RangeError("targetStart out of bounds"); if (m < 0 || m >= this.length) throw new RangeError("Index out of range"); if (w < 0) throw new RangeError("sourceEnd out of bounds"); w > this.length && (w = this.length), d.length - f < w - m && (w = d.length - f + m); var I = w - m; return this === d && "function" == typeof Uint8Array.prototype.copyWithin ? this.copyWithin(f, m, w) : Uint8Array.prototype.set.call(d, this.subarray(m, w), f), I }, M.prototype.fill = function (d, f, m, w) { if ("string" == typeof d) { if ("string" == typeof f ? (w = f, f = 0, m = this.length) : "string" == typeof m && (w = m, m = this.length), void 0 !== w && "string" != typeof w) throw new TypeError("encoding must be a string"); if ("string" == typeof w && !M.isEncoding(w)) throw new TypeError("Unknown encoding: " + w); if (1 === d.length) { var I = d.charCodeAt(0); ("utf8" === w && I < 128 || "latin1" === w) && (d = I) } } else "number" == typeof d ? d &= 255 : "boolean" == typeof d && (d = Number(d)); if (f < 0 || this.length < f || this.length < m) throw new RangeError("Out of range index"); if (m <= f) return this; var N; if (f >>>= 0, m = void 0 === m ? this.length : m >>> 0, d || (d = 0), "number" == typeof d) for (N = f; N < m; ++N)this[N] = d; else { var q = M.isBuffer(d) ? d : M.from(d, w), he = q.length; if (0 === he) throw new TypeError('The value "' + d + '" is invalid for argument "value"'); for (N = 0; N < m - f; ++N)this[N + f] = q[N % he] } return this }; var cs = /[^+/0-9A-Za-z-_]/g; function Zi(p, d) { d = d || 1 / 0; for (var f, m = p.length, w = null, I = [], N = 0; N < m; ++N) { if ((f = p.charCodeAt(N)) > 55295 && f < 57344) { if (!w) { if (f > 56319) { (d -= 3) > -1 && I.push(239, 191, 189); continue } if (N + 1 === m) { (d -= 3) > -1 && I.push(239, 191, 189); continue } w = f; continue } if (f < 56320) { (d -= 3) > -1 && I.push(239, 191, 189), w = f; continue } f = 65536 + (w - 55296 << 10 | f - 56320) } else w && (d -= 3) > -1 && I.push(239, 191, 189); if (w = null, f < 128) { if ((d -= 1) < 0) break; I.push(f) } else if (f < 2048) { if ((d -= 2) < 0) break; I.push(f >> 6 | 192, 63 & f | 128) } else if (f < 65536) { if ((d -= 3) < 0) break; I.push(f >> 12 | 224, f >> 6 & 63 | 128, 63 & f | 128) } else { if (!(f < 1114112)) throw new Error("Invalid code point"); if ((d -= 4) < 0) break; I.push(f >> 18 | 240, f >> 12 & 63 | 128, f >> 6 & 63 | 128, 63 & f | 128) } } return I } function Ji(p) { return ct.toByteArray(function Pt(p) { if ((p = (p = p.split("=")[0]).trim().replace(cs, "")).length < 2) return ""; for (; p.length % 4 != 0;)p += "="; return p }(p)) } function Qi(p, d, f, m) { for (var w = 0; w < m && !(w + f >= d.length || w >= p.length); ++w)d[w + f] = p[w]; return w } function tn(p, d) { return p instanceof d || null != p && null != p.constructor && null != p.constructor.name && p.constructor.name === d.name } function S(p) { return p != p } var E = function () { for (var p = "0123456789abcdef", d = new Array(256), f = 0; f < 16; ++f)for (var m = 16 * f, w = 0; w < 16; ++w)d[m + w] = p[f] + p[w]; return d }() }, 601: (_i, qt) => { qt.read = function (Ve, $, ct, Je, ke) { var de, ye, He = 8 * ke - Je - 1, M = (1 << He) - 1, ut = M >> 1, Ue = -7, dt = ct ? ke - 1 : 0, wt = ct ? -1 : 1, Z = Ve[$ + dt]; for (dt += wt, de = Z & (1 << -Ue) - 1, Z >>= -Ue, Ue += He; Ue > 0; de = 256 * de + Ve[$ + dt], dt += wt, Ue -= 8); for (ye = de & (1 << -Ue) - 1, de >>= -Ue, Ue += Je; Ue > 0; ye = 256 * ye + Ve[$ + dt], dt += wt, Ue -= 8); if (0 === de) de = 1 - ut; else { if (de === M) return ye ? NaN : 1 / 0 * (Z ? -1 : 1); ye += Math.pow(2, Je), de -= ut } return (Z ? -1 : 1) * ye * Math.pow(2, de - Je) }, qt.write = function (Ve, $, ct, Je, ke, de) { var ye, He, M, ut = 8 * de - ke - 1, Ue = (1 << ut) - 1, dt = Ue >> 1, wt = 23 === ke ? Math.pow(2, -24) - Math.pow(2, -77) : 0, Z = Je ? 0 : de - 1, le = Je ? 1 : -1, be = $ < 0 || 0 === $ && 1 / $ < 0 ? 1 : 0; for ($ = Math.abs($), isNaN($) || $ === 1 / 0 ? (He = isNaN($) ? 1 : 0, ye = Ue) : (ye = Math.floor(Math.log($) / Math.LN2), $ * (M = Math.pow(2, -ye)) < 1 && (ye--, M *= 2), ($ += ye + dt >= 1 ? wt / M : wt * Math.pow(2, 1 - dt)) * M >= 2 && (ye++, M /= 2), ye + dt >= Ue ? (He = 0, ye = Ue) : ye + dt >= 1 ? (He = ($ * M - 1) * Math.pow(2, ke), ye += dt) : (He = $ * Math.pow(2, dt - 1) * Math.pow(2, ke), ye = 0)); ke >= 8; Ve[ct + Z] = 255 & He, Z += le, He /= 256, ke -= 8); for (ye = ye << ke | He, ut += ke; ut > 0; Ve[ct + Z] = 255 & ye, Z += le, ye /= 256, ut -= 8); Ve[ct + Z - le] |= 128 * be } }, 614: () => { "use strict"; const _i = ":"; const Ji = function (S, ...E) { if (Ji.translate) { const d = Ji.translate(S, E); S = d[0], E = d[1] } let p = tn(S[0], S.raw[0]); for (let d = 1; d < S.length; d++)p += E[d - 1] + tn(S[d], S.raw[d]); return p }, Qi = ":"; function tn(S, E) { return E.charAt(0) === Qi ? S.substring(function as(S, E) { for (let p = 1, d = 1; p < S.length; p++, d++)if ("\\" === E[d]) d++; else if (S[p] === _i) return p; throw new Error(`Unterminated $localize metadata block in "${E}".`) }(S, E) + 1) : S } globalThis.$localize = Ji } }, _i => { var qt = $ => _i(_i.s = $); qt(614), qt(362) }]); \ No newline at end of file diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py index b3b25e4b..df4d6d24 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/root_cmp.py @@ -127,11 +127,11 @@ def _fill_attributes(self): def _fill_callbacks(self): for callback in self._json_callbacks: - if callback["interaction_type"] not in ["call", "callback"]: + if callback["action"] not in ["call", "callback"]: self._logger.warning( "Only interaction type call and callback are available in the Tkinter frontend.\ Interactivity: '%s' was ignored", - callback["interaction_type"], + callback["action"], ) key = callback["event"] value = callback["operation"] diff --git a/clinguin/server/application/callback.py b/clinguin/server/application/callback.py index 042c5076..df89812e 100644 --- a/clinguin/server/application/callback.py +++ b/clinguin/server/application/callback.py @@ -12,10 +12,10 @@ class CallbackDto: endpoints on sending the reply. """ - def __init__(self, cid, event, interaction_type, operation): + def __init__(self, cid, event, action, operation): self.id = str(cid) # pylint: disable=C0103 self.event = str(event) - self.interaction_type = str(interaction_type) + self.action = str(action) self.operation = str(operation) def to_JSON(self): # pylint: disable=C0103 @@ -28,4 +28,4 @@ def clone(self): """ Creates a new CallbackDto object with the same properties. """ - return CallbackDto(self.id, self.event, self.interaction_type, self.operation) + return CallbackDto(self.id, self.event, self.action, self.operation) diff --git a/clinguin/server/application/standard_json_encoder.py b/clinguin/server/application/standard_json_encoder.py index 521ac40c..ba3ece50 100644 --- a/clinguin/server/application/standard_json_encoder.py +++ b/clinguin/server/application/standard_json_encoder.py @@ -92,7 +92,7 @@ def _generate_hierarchy(cls, ui_state, hierarchy_root, elements_dict): element.set_attributes(elem_attributes) if element_id in cbs: elem_callbacks = [ - CallbackDto(a.id, a.event, a.interaction_type, a.operation) + CallbackDto(a.id, a.event, a.action, a.operation) for a in cbs[element_id] ] element.set_callbacks(elem_callbacks) diff --git a/clinguin/server/data/callback.py b/clinguin/server/data/callback.py index 7468adcf..028ef48f 100644 --- a/clinguin/server/data/callback.py +++ b/clinguin/server/data/callback.py @@ -21,7 +21,7 @@ class WhenDao(Predicate): id = RawField event = RawField - interaction_type = RawField + action = RawField operation = RawField class Meta: diff --git a/docs/clinguin/reference/communication.rst b/docs/clinguin/reference/communication.rst index f89f4a96..fde02cd8 100644 --- a/docs/clinguin/reference/communication.rst +++ b/docs/clinguin/reference/communication.rst @@ -146,7 +146,7 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se { "id": , "event": , - "interaction_type": , + "action": , "operation": } ], @@ -199,7 +199,7 @@ The :ref:`ui-state` is represented by a JSON to comunicate between client and se { "id":"b1", "event":"click", - "interaction_type":"call", + "action":"call", "operation":"next_solution" } ], diff --git a/examples/angular/catdog/ui-menu.lp b/examples/angular/catdog/ui-menu.lp index aa32ae27..6e6f07bf 100644 --- a/examples/angular/catdog/ui-menu.lp +++ b/examples/angular/catdog/ui-menu.lp @@ -12,3 +12,27 @@ attr(seat_dd(S), class, "text-success"):- _clinguin_browsing, assign(P,S), not _all(assign(P,S)). attr(seat_dd(S), class, "opacity-75"):- _all(assign(P,S)), not _clinguin_assume(assign(P,S)). + + + +%------------------------------ +% Extension from the paper +% ----------------------------- + +% Messages and use of domain state _clinguin_unsat (Could be removed but this might be reached when adding more people than seats) +elem(message_unsat,message,w):-_clinguin_unsat. +attr(message_unsat, title, "Error"):-_clinguin_unsat. +attr(message_unsat, message, "Unsatisfiable output."):-_clinguin_unsat. +attr(message_unsat, type, error):-_clinguin_unsat. + +% Download action for instance (We can remove it and just comment that can be used) +elem(menu_bar_download, button, menu_bar). +attr(menu_bar_download, label, "Download instance"). +attr(menu_bar_download, icon, "fa-download"). +when(menu_bar_download, click, call, (download("#show person/2.","listings/dl_instance.lp"))). + +% Download action for solution and multiple actions for call +elem(menu_bar_download_solution, button, menu_bar). +attr(menu_bar_download_solution, label, "Download solution"). +attr(menu_bar_download_solution, icon, "fa-download"). +when(menu_bar_download_solution, click, call, download("#show assign/2.","listings/dl_solution.lp")). diff --git a/examples/angular/catdog/ui-people.lp b/examples/angular/catdog/ui-people.lp index 92bb797f..87014abc 100644 --- a/examples/angular/catdog/ui-people.lp +++ b/examples/angular/catdog/ui-people.lp @@ -36,4 +36,4 @@ attr(add_btn(dog), class, ("m-1";"btn-warning";"ml-auto")):- pet(O). attr(add_btn(O), icon, @concat("","fa-",O)):- pet(O). when(add_btn(O), click, context, (pet, O)):- pet(O). when(add_btn(O), click, call, - add_atom(person(_context_value(name), _context_value(pet)))):- pet(O). + add_atom(person(_context_value(name,str), _context_value(pet)))):- pet(O). diff --git a/examples/angular/catdog/ui-tables.lp b/examples/angular/catdog/ui-tables.lp index 6026a301..c98ae3af 100644 --- a/examples/angular/catdog/ui-tables.lp +++ b/examples/angular/catdog/ui-tables.lp @@ -1,26 +1,34 @@ -elem(w, window, root).%%#(\label{ui:tables:elem:one}#) -attr(w, flex_direction, row).%%#(\label{ui:tables:attr:one}#) +elem(w, window, root). +attr(w, flex_direction, row). -elem(tables, container, w).%%#(\label{ui:tables:container:one}#) +elem(tables, container, w). -elem(table(T), container, tables):- seat((T,_)).%%#(\label{ui:tables:container:two}#) -attr(table(T), order, T):- seat((T,_)).%%#(\label{ui:tables:attr:two}#) -attr(table(T), width, 200):- seat((T,_)).%%#(\label{ui:tables:attr:tri}#) -attr(table(T), class, ("bg-primary";"bg-opacity-25";"rounded";%%#(\label{ui:tables:class:one:a}#) - "d-flex";"flex-column";"align-items-start";%%#(\label{ui:tables:class:one:b}#) - "p-2";"m-2"%%#(\label{ui:tables:class:one:c}#) - )):- seat((T,_)).%%#(\label{ui:tables:class:one:d}#) +elem(table(T), container, tables):- seat((T,_)). +attr(table(T), order, T):- seat((T,_)). +attr(table(T), width, 200):- seat((T,_)). +attr(table(T), class, ("bg-primary";"bg-opacity-25";"rounded"; + "d-flex";"flex-column";"align-items-start"; + "p-2";"m-2" + )):- seat((T,_)). -elem(table_label(T), label, table(T)):- seat((T,_)).%%#(\label{ui:tables:label:one}#) +elem(table_label(T), label, table(T)):- seat((T,_)). attr(table_label(T), order, 1):- seat((T,_)). -attr(table_label(T), label, @concat("","Table",T)):- seat((T,_)).%%#(\label{ui:tables:label:tri}#) +attr(table_label(T), label, @concat("","Table",T)):- seat((T,_)). -elem(seat_dd((T,C)), dropdown_menu, table(T)):- seat((T,C)).%%#(\label{ui:tables:dropdown:one:a}#) -attr(seat_dd((T,C)), order, C+1):- seat((T,C)).%%#(\label{ui:tables:dropdown:one:b}#) -attr(seat_dd(S), class, ("btn-sm";"btn-primary";"m-2")):- seat(S).%%#(\label{ui:tables:dropdown:one:c}#) -attr(seat_dd(S), selected, P):- _all(assign(P,S)).%%#(\label{ui:tables:dropdown:one:d}#) +elem(seat_dd((T,C)), dropdown_menu, table(T)):- seat((T,C)). +attr(seat_dd((T,C)), order, C+1):- seat((T,C)). +attr(seat_dd(S), class, ("btn-sm";"btn-primary";"m-2")):- seat(S). +attr(seat_dd(S), selected, P):- _all(assign(P,S)). -elem(seat_ddi(S,P), dropdown_menu_item, seat_dd(S)):-_any(assign(P,S)).%%#(\label{ui:tables:dropdown:two:a}#) -attr(seat_ddi(S,P), label, P):- _any(assign(P,S)).%%#(\label{ui:tables:dropdown:two:b}#) -when(seat_ddi(S,P), click, call, add_assumption(assign(P,S))):- %%#(\label{ui:tables:dropdown:two:c}#) +elem(seat_ddi(S,P), dropdown_menu_item, seat_dd(S)):-_any(assign(P,S)). +attr(seat_ddi(S,P), label, P):- _any(assign(P,S)). +when(seat_ddi(S,P), click, call, add_assumption(assign(P,S))):- _any(assign(P,S)). + + +%------------------------------ +% Extension from the paper +% ----------------------------- +elem(seat_ddi(S,remove), dropdown_menu_item, seat_dd(S)):- seat(S). +attr(seat_ddi(S,remove), label, "-"):- seat(S). +when(seat_ddi(S,remove), click, call, remove_assumption_signature(assign(any,(S)))):- seat(S). diff --git a/tests/reference_json_output/basic_test_01.py b/tests/reference_json_output/basic_test_01.py index 023156f6..0a6e9eba 100644 --- a/tests/reference_json_output/basic_test_01.py +++ b/tests/reference_json_output/basic_test_01.py @@ -42,7 +42,7 @@ def get_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -59,7 +59,7 @@ def get_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -129,7 +129,7 @@ def post_p_1_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -199,7 +199,7 @@ def get_p_1_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -269,7 +269,7 @@ def post_p_2_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -338,7 +338,7 @@ def get_p_2_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], diff --git a/tests/reference_json_output/basic_test_03.py b/tests/reference_json_output/basic_test_03.py index 6442b400..4af7f2aa 100644 --- a/tests/reference_json_output/basic_test_03.py +++ b/tests/reference_json_output/basic_test_03.py @@ -100,7 +100,7 @@ def get_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -121,7 +121,7 @@ def get_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -518,7 +518,7 @@ def get_reference_json(cls): { "id": "b", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -562,7 +562,7 @@ def get_reference_json(cls): { "id": "l1", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -674,7 +674,7 @@ def post_p_1_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -1071,7 +1071,7 @@ def post_p_1_reference_json(cls): { "id": "b", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -1115,7 +1115,7 @@ def post_p_1_reference_json(cls): { "id": "l1", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -1226,7 +1226,7 @@ def post_p_2_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -1247,7 +1247,7 @@ def post_p_2_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -1644,7 +1644,7 @@ def post_p_2_reference_json(cls): { "id": "b", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -1688,7 +1688,7 @@ def post_p_2_reference_json(cls): { "id": "l1", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -1799,7 +1799,7 @@ def post_p_3_reference_json(cls): { "id": "mi(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -1820,7 +1820,7 @@ def post_p_3_reference_json(cls): { "id": "mi(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -2217,7 +2217,7 @@ def post_p_3_reference_json(cls): { "id": "b", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -2261,7 +2261,7 @@ def post_p_3_reference_json(cls): { "id": "l1", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], diff --git a/tests/reference_json_output/basic_test_04.py b/tests/reference_json_output/basic_test_04.py index ce306284..c12221b2 100644 --- a/tests/reference_json_output/basic_test_04.py +++ b/tests/reference_json_output/basic_test_04.py @@ -75,7 +75,7 @@ def get_reference_json(cls): { "id": "ms1i2", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -317,7 +317,7 @@ def get_reference_json(cls): { "id": "b", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], diff --git a/tests/reference_json_output/basic_test_09.py b/tests/reference_json_output/basic_test_09.py index ad099d36..8980565d 100644 --- a/tests/reference_json_output/basic_test_09.py +++ b/tests/reference_json_output/basic_test_09.py @@ -39,7 +39,7 @@ def get_reference_json(cls): { "id": "dmp(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -56,7 +56,7 @@ def get_reference_json(cls): { "id": "dmp(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -92,7 +92,7 @@ def get_reference_json(cls): { "id": "l", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -144,7 +144,7 @@ def post_p_1_reference_json(cls): { "id": "dmp(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -180,7 +180,7 @@ def post_p_1_reference_json(cls): { "id": "l", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -232,7 +232,7 @@ def get_p_2_reference_json(cls): { "id": "dmp(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -268,7 +268,7 @@ def get_p_2_reference_json(cls): { "id": "l", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], @@ -318,7 +318,7 @@ def post_p_3_reference_json(cls): { "id": "dmp(1)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(1))", } ], @@ -335,7 +335,7 @@ def post_p_3_reference_json(cls): { "id": "dmp(2)", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_assumption(p(2))", } ], @@ -371,7 +371,7 @@ def post_p_3_reference_json(cls): { "id": "l", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "clear_assumptions", } ], diff --git a/tests/reference_json_output/basic_test_12.py b/tests/reference_json_output/basic_test_12.py index 07b514d1..2d6bfbed 100644 --- a/tests/reference_json_output/basic_test_12.py +++ b/tests/reference_json_output/basic_test_12.py @@ -53,7 +53,7 @@ def get_reference_json(cls): { "id": "b1", "event": "click", - "interaction_type": "callback", + "action": "callback", "operation": "add_atom(name(_context_value(t1_content)))", } ], @@ -74,7 +74,7 @@ def get_reference_json(cls): { "id": "t1", "event": "input", - "interaction_type": "context", + "action": "context", "operation": "(t1_content,_value)", } ], From 5b7a71c581e3b9c6b0d3c7edb232aaceb5e7e587 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Fri, 2 Aug 2024 17:56:11 -0600 Subject: [PATCH 59/61] Timeout option and more help doc --- .../assets/config.json | 5 +-- .../application/backends/clingo_backend.py | 40 ++++++++++++++++--- docs/clinguin/help.rst | 25 ++++++------ .../angular/placement_optimized/README.md | 3 +- examples/angular/placement_optimized/ui.lp | 12 +++--- 5 files changed, 57 insertions(+), 28 deletions(-) diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json index 0c351ef2..9a5cd95a 100644 --- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json +++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/assets/config.json @@ -1,4 +1 @@ -{ - "serverUrl": "http://localhost", - "serverPort": "8000" -} \ No newline at end of file +{"serverPort": 8000, "serverUrl": "http://localhost"} \ No newline at end of file diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 5b20d939..1323b2de 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -3,6 +3,8 @@ Module that contains the ClingoMultishotBackend. """ import logging +import time +import textwrap from functools import cached_property from pathlib import Path import functools @@ -111,6 +113,18 @@ def register_options(cls, parser): metavar="", ) + parser.add_argument( + "--opt-timeout", + help=textwrap.dedent( + """\ + Optional timeout for searching for optimal models. + The timeout is not exactly enforced (might take longer) but only checked after each solution is found. + """ + ), + type=int, + metavar="", + ) + # --------------------------------------------- # Properties # --------------------------------------------- @@ -249,6 +263,8 @@ def _init_command_line(self): self._default_opt_mode = self._args.default_opt_mode + self._opt_timeout = self._args.opt_timeout + def _init_interactive(self): """ Initializes the attributes that will change during the interaction. @@ -895,25 +911,37 @@ def next_solution(self, opt_mode="ignore"): self._iterator = iter(self._handler) try: + start = time.time() model = next(self._iterator) + self._clear_cache(["_ds_model"]) + self._on_model(model) + self._model = model.symbols(shown=True, atoms=True, theory=True) while optimizing and not model.optimality_proven: if len(model.cost) == 0: self._messages.append( ( - "Browsing Error", + "Browsing Warning", "No optimization provided", - "error", + "warning", ) ) - self._logger.error( + self._logger.warning( "No optimization statement provided in encoding but optimization condition provided in 'next_solution' operation. Exiting browsing." ) - raise StopIteration + break + if ( + self._opt_timeout is not None + and time.time() - start > self._opt_timeout + ): + self._logger.warning( + "Timeout for finding optimal model was reached. Returning model without proving optimality." + ) + break self._logger.debug("Skipping non-optimal model!") model = next(self._iterator) + self._clear_cache(["_ds_model"]) + self._on_model(model) - self._clear_cache(["_ds_model"]) - self._on_model(model) self._model = model.symbols(shown=True, atoms=True, theory=True) except StopIteration: self._logger.info("No more solutions") diff --git a/docs/clinguin/help.rst b/docs/clinguin/help.rst index a435941a..78b1bac4 100644 --- a/docs/clinguin/help.rst +++ b/docs/clinguin/help.rst @@ -40,26 +40,27 @@ If the problem is finding an optimal model you can pass a timeout to the server in the command line with the flag ``--out-timeout 10``. This will make the server stop searching for models with a bette cost after ``10`` seconds. Note that the response time might be larget than this timeout if the solver is already searching when the timeout is reached. If you pass a timeout of ``0`` the server will only get the first model, you can then keep calling the operation ``next_solution(optN)`` to improve the cost, one at a time. + Check out the `placement_optimized example `_. .. admonition:: **Can't manage to place or style things in my UI** :class: tip - If you are having trouble placing or styling elements in your UI, first make sure that they are part of your UI state in the command line. + If you are having trouble placing or styling elements in your UI, first make sure that they are part of your UI state by checking the logs in the command line. - make sure you are using the correct attributes. - The ``grid_row`` and ``grid_column`` attributes are used to place elements in a grid layout. - The ``width`` and ``height`` attributes are used to set the size of the element. - The ``class`` attribute is used to set the style of the element. + *Not in my ui-state* + If your expected attribute is not in the :ref:`ui-state`, then you have to check your :ref:`ui-files` to make sure the atom is generated. + If you are using the ``;`` operator for the ``class`` attribute, make sure you did not make a mistake and have ``attr(elem,class,(c1,c2);`` instead of ``attr(elem,class,(c1;c2).``. - If you are using the ``class`` attribute, make sure you are using the correct syntax for the style you want to apply. - The syntax is a list of strings, each string is a class that will be applied to the element. - For example, ``class,("border-dark";"bg-primary")`` will apply the classes ``border-dark`` and ``bg-primary`` to the element. + *Is part of my ui-state* + Then we recomend you use the browser's developer tools to inspect the elements and see if the styles are being applied. + You can also move the HTML directly in your browser to find the right settings. Once you found them you can copy them to your :ref:`ui-files`. - If you are using the ``class`` attribute to apply a style that is not working, make sure the style is defined in the ``ui.lp`` file. - If you are using a style that is not defined in the ``ui.lp`` file, the element will not be styled as expected. -- Inspect in the browser -- Raise an issue in github + +.. admonition:: **Still need help** + :class: warning + + If none of the above tips help you solve your problem, please open an issue in the `clinguin repository `_. diff --git a/examples/angular/placement_optimized/README.md b/examples/angular/placement_optimized/README.md index 3936aea2..d115f6d8 100644 --- a/examples/angular/placement_optimized/README.md +++ b/examples/angular/placement_optimized/README.md @@ -5,11 +5,12 @@ This example show how to use consequences with optimization statements to have user feedback on optimal models. +The option ` --opt-timeout 0` makes sure that one model is computed at a time to try to find the optimal one. ### Usage ``` -clinguin client-server --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement_optimized/ui.lp +clinguin client-server --domain-files examples/angular/placement_optimized/instance.lp examples/angular/placement_optimized/encoding.lp --ui-files examples/angular/placement_optimized/ui.lp --opt-timeout 0 ``` ![](out1.png) diff --git a/examples/angular/placement_optimized/ui.lp b/examples/angular/placement_optimized/ui.lp index ebcf426b..ad9f0880 100644 --- a/examples/angular/placement_optimized/ui.lp +++ b/examples/angular/placement_optimized/ui.lp @@ -207,11 +207,13 @@ attr(window, flex_direction, row). when(menu_bar_select, click, call, select). elem(menu_bar_next_opt, button, menu_bar). - attr(menu_bar_next_opt, label, "Next Optimal"). + attr(menu_bar_next_opt, label, "Next"). attr(menu_bar_next_opt, icon, "fa-forward-fast"). when(menu_bar_next_opt, click, call, next_solution(optN)). - elem(menu_bar_next, button, menu_bar). - attr(menu_bar_next, label, "Next"). - attr(menu_bar_next, icon, "fa-forward-step"). - when(menu_bar_next, click, call, next_solution). + elem(m, message, window):-_clinguin_optimizing. + attr(m, title, "Optimality information"):-_clinguin_optimizing. + attr(m, message, "Optimal!"):- _clinguin_optimizing, _clinguin_optimal. + attr(m, message, "Optimality not proven"):- _clinguin_optimizing, not _clinguin_optimal. + attr(m, type, success):- _clinguin_optimizing, _clinguin_optimal. + attr(m, type, warning):- _clinguin_optimizing, not _clinguin_optimal. \ No newline at end of file From bb92322c9f5f585b8d8ee7660081a7eff3c08d92 Mon Sep 17 00:00:00 2001 From: Susana Hahn Date: Mon, 5 Aug 2024 12:02:27 -0600 Subject: [PATCH 60/61] Small change to docs --- docs/clinguin/backends/ClingoDLBackend.rst | 4 +++- docs/clinguin/backends/ClingoMultishotBackend.rst | 4 +++- docs/clinguin/backends/ClingraphBackend.rst | 6 ++++-- docs/clinguin/backends/ExplanationBackend.rst | 4 +++- docs/clinguin/installation.rst | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/clinguin/backends/ClingoDLBackend.rst b/docs/clinguin/backends/ClingoDLBackend.rst index 8f38db10..0ffebdbe 100644 --- a/docs/clinguin/backends/ClingoDLBackend.rst +++ b/docs/clinguin/backends/ClingoDLBackend.rst @@ -45,6 +45,8 @@ Also includes all public operations from the :ref:`ClingoMultishotBackend`. Domain state constructors +++++++++++++++++++++++++ -The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` +.. important:: + + The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` .. autoproperty:: ClingoDLBackend._ds_assign diff --git a/docs/clinguin/backends/ClingoMultishotBackend.rst b/docs/clinguin/backends/ClingoMultishotBackend.rst index d3d95515..050e7ebf 100644 --- a/docs/clinguin/backends/ClingoMultishotBackend.rst +++ b/docs/clinguin/backends/ClingoMultishotBackend.rst @@ -29,6 +29,8 @@ Also includes all public operations from the :ref:`ClingoBackend`. Domain state constructors +++++++++++++++++++++++++ -The domain state also inclues domain constructors from the :ref:`ClingoBackend` +.. important:: + + The domain state also inclues domain constructors from the :ref:`ClingoBackend` .. autoproperty:: ClingoMultishotBackend._ds_assume \ No newline at end of file diff --git a/docs/clinguin/backends/ClingraphBackend.rst b/docs/clinguin/backends/ClingraphBackend.rst index 4b200834..ef066d86 100644 --- a/docs/clinguin/backends/ClingraphBackend.rst +++ b/docs/clinguin/backends/ClingraphBackend.rst @@ -90,7 +90,7 @@ Public operations +++++++++++++++++ Can be used as `OPERATION` in the actions of the :ref:`ui-state` -Also includes all public operations from the :ref:`ClingoBackend`. +Also includes all public operations from the :ref:`ClingoMultishotBackend`. .. autoclass:: ClingraphBackend :members: @@ -101,6 +101,8 @@ Also includes all public operations from the :ref:`ClingoBackend`. Domain state constructors +++++++++++++++++++++++++ -The domain state also inclues domain constructors from the :ref:`ClingoBackend` +.. important:: + + The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` diff --git a/docs/clinguin/backends/ExplanationBackend.rst b/docs/clinguin/backends/ExplanationBackend.rst index c06c0687..4a50b8a0 100644 --- a/docs/clinguin/backends/ExplanationBackend.rst +++ b/docs/clinguin/backends/ExplanationBackend.rst @@ -68,7 +68,9 @@ Also includes all public operations from the :ref:`ClingoMultishotBackend`. Domain state constructors +++++++++++++++++++++++++ -The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` +.. important:: + + The domain state also inclues domain constructors from the :ref:`ClingoMultishotBackend` .. autoproperty:: ExplanationBackend._ds_mus diff --git a/docs/clinguin/installation.rst b/docs/clinguin/installation.rst index 38891ce5..c85e9b20 100644 --- a/docs/clinguin/installation.rst +++ b/docs/clinguin/installation.rst @@ -21,7 +21,7 @@ The python clinguin package can be found `here Date: Mon, 5 Aug 2024 12:37:55 -0600 Subject: [PATCH 61/61] Fixed lints --- clinguin/__init__.py | 1 + .../tkinter_elements/__init__.py | 1 + .../tkinter_elements/canvas.py | 1 + .../tkinter_elements/menu_bar.py | 1 + .../tkinter_elements/menu_bar_section.py | 1 + .../tkinter_elements/message.py | 1 + .../tkinter_utils/__init__.py | 1 + clinguin/client_helper.py | 1 + clinguin/server/__init__.py | 1 + clinguin/server/application/attribute.py | 1 + .../application/backends/clingo_backend.py | 37 +++--- .../backends/clingo_multishot_backend.py | 4 +- .../application/backends/clingodl_backend.py | 2 - .../application/backends/clingraph_backend.py | 10 +- .../backends/explanation_backend.py | 20 +-- .../backends/standard_utils/clingo_logger.py | 1 + clinguin/server/application/element.py | 1 + clinguin/server/data/attribute.py | 2 + clinguin/server/data/callback.py | 8 +- clinguin/server/data/element.py | 2 + clinguin/server/data/ui_state.py | 7 +- clinguin/server/presentation/endpoints.py | 8 +- clinguin/server_helper.py | 1 + clinguin/show_frontend_syntax_enum.py | 1 + clinguin/utils/__init__.py | 1 + clinguin/utils/annotations.py | 125 +++--------------- clinguin/utils/attribute_types/__init__.py | 1 + .../utils/attribute_types/child_layout.py | 1 + .../utils/attribute_types/flex_direction.py | 1 + .../utils/attribute_types/font_families.py | 1 - clinguin/utils/attribute_types/font_weight.py | 1 + clinguin/utils/attribute_types/image.py | 1 + clinguin/utils/attribute_types/popup_types.py | 1 + clinguin/utils/logger.py | 9 +- clinguin/utils/transformer.py | 8 ++ tests/reference_json_output/__init__.py | 2 +- 36 files changed, 109 insertions(+), 157 deletions(-) diff --git a/clinguin/__init__.py b/clinguin/__init__.py index df21fa31..87ddbd3c 100644 --- a/clinguin/__init__.py +++ b/clinguin/__init__.py @@ -1,6 +1,7 @@ """ Clinguin package - package entry point """ + import copy import sys import threading diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/__init__.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/__init__.py index 3f03df3a..e7e8237f 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/__init__.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/__init__.py @@ -1,6 +1,7 @@ """ This package contains all tkinter_elements that are provided in clinguin. """ + from .button import Button from .canvas import Canvas from .container import Container diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/canvas.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/canvas.py index 71c98926..6f387ff4 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/canvas.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/canvas.py @@ -1,6 +1,7 @@ """ Contains the canvas class. """ + import base64 import io import tkinter as tk diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar.py index 137df60b..b24fae6d 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar.py @@ -1,6 +1,7 @@ """ This module features the MenuBar class. """ + import tkinter as tk from .root_cmp import RootCmp diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section.py index 8d82f550..7893406e 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/menu_bar_section.py @@ -1,6 +1,7 @@ """ Module contains the menu bar section class. """ + import tkinter as tk from clinguin.utils.attribute_types import StringType diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/message.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/message.py index bdb24223..05d5e28e 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/message.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_elements/message.py @@ -1,6 +1,7 @@ """ Contains the Message class. """ + import tkinter as tk from tkinter import messagebox diff --git a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/__init__.py b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/__init__.py index 6621e221..0871bc68 100644 --- a/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/__init__.py +++ b/clinguin/client/presentation/frontends/tkinter_frontend/tkinter_utils/__init__.py @@ -1,6 +1,7 @@ """ This module contains various utils for tkinter-elements, which reduce code size, etc. """ + from .attribute_names import AttributeNames from .call_back_definition import CallBackDefinition from .callback_names import CallbackNames diff --git a/clinguin/client_helper.py b/clinguin/client_helper.py index c46f0be2..ceb9556b 100644 --- a/clinguin/client_helper.py +++ b/clinguin/client_helper.py @@ -1,6 +1,7 @@ """ Helper for the client-startup-process """ + from clinguin.client import ClientBase from clinguin.utils import Logger diff --git a/clinguin/server/__init__.py b/clinguin/server/__init__.py index d32fdc02..14893b24 100644 --- a/clinguin/server/__init__.py +++ b/clinguin/server/__init__.py @@ -1,6 +1,7 @@ """ Server module, contains core-program classes. """ + from .application.standard_json_encoder import StandardJsonEncoder from .data.ui_state import UIState from .presentation.endpoints import Endpoints diff --git a/clinguin/server/application/attribute.py b/clinguin/server/application/attribute.py index 87a1e5b4..93d07cb3 100644 --- a/clinguin/server/application/attribute.py +++ b/clinguin/server/application/attribute.py @@ -1,6 +1,7 @@ """ Module contains the AttributeDto class. """ + import json diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py index 1323b2de..6b0ba8b9 100644 --- a/clinguin/server/application/backends/clingo_backend.py +++ b/clinguin/server/application/backends/clingo_backend.py @@ -2,12 +2,12 @@ """ Module that contains the ClingoMultishotBackend. """ +import functools import logging -import time import textwrap +import time from functools import cached_property from pathlib import Path -import functools from typing import Any from clingo import Control, parse_term @@ -118,7 +118,8 @@ def register_options(cls, parser): help=textwrap.dedent( """\ Optional timeout for searching for optimal models. - The timeout is not exactly enforced (might take longer) but only checked after each solution is found. + The timeout is not exactly enforced (might take longer) + but only checked after each solution is found. """ ), type=int, @@ -172,7 +173,8 @@ def _restart(self): It is automatically called when the server starts. See Also: - :func:`~_init_command_line`, :func:`~_init_interactive`, :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` + :func:`~_init_command_line`, :func:`~_init_interactive`, + :func:`~_outdate`, :func:`~_init_ctl`, :func:`~_ground` """ self._init_command_line() self._init_interactive() @@ -232,7 +234,8 @@ def _init_command_line(self): _constants (dict): The dictionary of constants provided via command line. _clingo_ctl_arg (list): The list of clingo control arguments provided via command line. - If any command line arguments are added in :meth:`~ClingoBackend.register_options`, they should be initialized here. + If any command line arguments are added in :meth:`~ClingoBackend.register_options`, + they should be initialized here. Example: @@ -275,16 +278,19 @@ def _init_interactive(self): _handler (clingo.SolveHandle): The handler set while browsing in the `next_solution` operation. _iterator (iter): The iterator set while browsing in the `next_solution` operation. _ctl (clingo.Control): The domain control set in `_init_ctl`. - _ui_state (:class:`UIState`): A UIState object used to handle the UI construction, set in every call to `_update_ui_state`. + _ui_state (:class:`UIState`): A UIState object used to handle the UI construction, + set in every call to `_update_ui_state`. _atoms (set[str]): A set to store the atoms set dynamically in operations during the interaction. - _assumptions (set[str]): A set to store the assumptions set dynamically in operations during the interaction. + _assumptions (set[str]): A set to store the assumptions set dynamically in operations during the + interaction. _externals (dict): A dictionary with true, false and released sets of external atoms _model (list[clingo.Symbol]): The model set in `on_model`. _unsat_core (list[int]): The unsatisfiable core set in `on_model`. _cost (list): A list to store the cost set in `on_model`. _optimal (bool): A boolean indicating if the solution is optimal, set in `on_model`. _optimizing (bool): A boolean indicating if the solver is currently optimizing, set in `on_model`. - _messages (list[tuple[str,str,str]]): A list to store the messages (title, content, type) to be shown in the UI, set dynamically in operations during the interaction. + _messages (list[tuple[str,str,str]]): A list to store the messages (title, content, type) to be shown in + the UI, set dynamically in operations during the interaction. """ # Context: Set by the general handler of requests self._context = [] @@ -431,7 +437,7 @@ def _set_constant(self, name: str, value: Any) -> None: name = name.strip('"') value = str(value).strip('"') self._constants[name] = value - self._logger.debug(f"Constant {name} updated successfully to {value}") + self._logger.debug("Constant %s updated successfully to %s", name, value) def _add_atom(self, predicate_symbol): """ @@ -461,7 +467,6 @@ def _prepare(self): """ Does any preparation before a solve call. """ - pass def _on_model(self, model): """ @@ -529,7 +534,7 @@ def _call_solver_with_cache( The program tagged """ if self._is_browsing: - self._logger.debug(f"Returning cache for {ds_id}") + self._logger.debug("Returning cache for %s", ds_id) return ( self._backup_ds_cache[ds_id] if ds_id in self._backup_ds_cache else "" ) @@ -562,7 +567,7 @@ def _call_solver_with_cache( ) return " ".join([str(s) + "." for s in list(tag(symbols, ds_tag))]) + "\n" - @functools.lru_cache(maxsize=None) + @functools.lru_cache(maxsize=None) # pylint: disable=[method-cache-max-size-none] def _ui_uses_predicate(self, name: str, arity: int): """ Returns a truth value of weather the ui_files contain the given signature. @@ -572,7 +577,7 @@ def _ui_uses_predicate(self, name: str, arity: int): arity (int): Predicate arity """ transformer = UsesSignatureTransformer(name, arity) - self._logger.debug(f"Transformer parsing UI files to find {name}/{arity}") + self._logger.debug("Transformer parsing UI files to find %s/%s", name, arity) transformer.parse_files(self._ui_files) if not transformer.contained: self._logger.debug( @@ -768,7 +773,8 @@ def _ds_constants(self): """ Adds constants values. - Includes predicate ``_clinguin_const/2`` for each constant provided in the command line and used in the domain files. + Includes predicate ``_clinguin_const/2`` for each constant provided + in the command line and used in the domain files. """ prg = "#defined _clinguin_const/2. " for k, v in self._constants.items(): @@ -926,7 +932,8 @@ def next_solution(self, opt_mode="ignore"): ) ) self._logger.warning( - "No optimization statement provided in encoding but optimization condition provided in 'next_solution' operation. Exiting browsing." + "No optimization statement provided in encoding but optimization condition provided\ + in 'next_solution' operation. Exiting browsing." ) break if ( diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py index b92f9db8..02129759 100644 --- a/clinguin/server/application/backends/clingo_multishot_backend.py +++ b/clinguin/server/application/backends/clingo_multishot_backend.py @@ -3,11 +3,11 @@ Module that contains the ClingoMultishotBackend. """ -from clingo import parse_term, Control +from clingo import Control, parse_term from clingo.script import enable_python -from clinguin.utils.annotations import overwrites, extends from clinguin.server.application.backends import ClingoBackend +from clinguin.utils.annotations import extends, overwrites from ....utils.logger import domctl_log diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py index bd66e036..50ddc6c9 100644 --- a/clinguin/server/application/backends/clingodl_backend.py +++ b/clinguin/server/application/backends/clingodl_backend.py @@ -2,10 +2,8 @@ Module that contains the ClingoDL Backend. """ -from pathlib import Path import textwrap -from clingo import Control from clingo.ast import ProgramBuilder, parse_files from clingo.script import enable_python from clingodl import ClingoDLTheory diff --git a/clinguin/server/application/backends/clingraph_backend.py b/clinguin/server/application/backends/clingraph_backend.py index efd91f36..517cb1ab 100644 --- a/clinguin/server/application/backends/clingraph_backend.py +++ b/clinguin/server/application/backends/clingraph_backend.py @@ -2,9 +2,9 @@ """ Module that contains the ClingraphBackend. """ +import functools import textwrap from pathlib import Path -import functools from clingo import Control from clingo.symbol import Function, String @@ -19,9 +19,10 @@ # Self defined from clinguin.utils import StandardTextProcessing, image_to_b64 -from ....utils.transformer import UsesSignatureTransformer from clinguin.utils.annotations import extends, overwrites +from ....utils.transformer import UsesSignatureTransformer + class ClingraphBackend(ClingoMultishotBackend): """ @@ -36,6 +37,7 @@ def _init_command_line(self): Sets the arguments for computing clingraph images. """ super()._init_command_line() + # pylint: disable= attribute-defined-outside-init self._clingraph_files = self._args.clingraph_files self._select_model = self._args.select_model self._type = self._args.type @@ -199,7 +201,7 @@ def register_options(cls, parser): help="Intermediate format. Use 'svg' for angular fronted and 'png' tkinter. (default: %(default)s)", ) - @functools.lru_cache(maxsize=None) + @functools.lru_cache(maxsize=None) # pylint: disable=[method-cache-max-size-none] @overwrites(ClingoMultishotBackend) def _ui_uses_predicate(self, name: str, arity: int): """ @@ -210,7 +212,7 @@ def _ui_uses_predicate(self, name: str, arity: int): arity (int): Predicate arity """ transformer = UsesSignatureTransformer(name, arity) - self._logger.debug(f"Transformer parsing UI files to find {name}/{arity}") + self._logger.debug("Transformer parsing UI files to find %s/%s", name, arity) transformer.parse_files(self._ui_files + self._clingraph_files) return transformer.contained diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py index 8b1efe23..c6fcecf5 100644 --- a/clinguin/server/application/backends/explanation_backend.py +++ b/clinguin/server/application/backends/explanation_backend.py @@ -5,17 +5,17 @@ import textwrap from functools import cached_property -from clingo.script import enable_python -from clingexplaid.transformers import AssumptionTransformer from clingexplaid.mus import CoreComputer - -from ....utils.logger import domctl_log +from clingexplaid.transformers import AssumptionTransformer +from clingo.script import enable_python from clinguin.server.application.backends.clingo_multishot_backend import ( ClingoMultishotBackend, ) from clinguin.utils.annotations import extends +from ....utils.logger import domctl_log + enable_python() @@ -33,7 +33,8 @@ class ExplanationBackend(ClingoMultishotBackend): @property def _assumption_list(self): """ - Gets the set of assumptions used for solving. It includes the assumptions from the assumption signatures provided. + Gets the set of assumptions used for solving. + It includes the assumptions from the assumption signatures provided. Warning: @@ -56,6 +57,7 @@ def _init_interactive(self): _mus (str): The list of assumptions in the MUS property """ super()._init_interactive() + # pylint: disable= attribute-defined-outside-init self._mus = None @extends(ClingoMultishotBackend) @@ -68,6 +70,7 @@ def _init_command_line(self): _assumption_transformer (clingexplaid.AssumptionTransformer): The transformer used for the input files """ super()._init_command_line() + # pylint: disable= attribute-defined-outside-init self._assumption_sig = [] for a in self._args.assumption_signature or []: try: @@ -103,14 +106,15 @@ def _load_file(self, f): # Solving # --------------------------------------------- @extends(ClingoMultishotBackend) - def _ground(self): + def _ground(self, program="base"): """ Sets the list of assumptions that were taken from the input files using the assumption_signature. Attributes: _assumptions_from_signature (Set[clingo.Symbol]): The set of assumptions from the assumption signatures """ - super()._ground() + super()._ground(program) + # pylint: disable= attribute-defined-outside-init self._assumptions_from_signature = ( self._assumption_transformer.get_assumption_symbols( self._ctl, arguments=self._ctl_arguments_list @@ -167,6 +171,6 @@ def _ds_mus(self): cc = CoreComputer(self._ctl, self._assumption_list) cc.shrink() mus_core = cc.minimal - for s, v in mus_core: + for s, _ in mus_core: prg = prg + f"_clinguin_mus({str(s)}).\n" return prg diff --git a/clinguin/server/application/backends/standard_utils/clingo_logger.py b/clinguin/server/application/backends/standard_utils/clingo_logger.py index fa4b3fcb..a94318b8 100644 --- a/clinguin/server/application/backends/standard_utils/clingo_logger.py +++ b/clinguin/server/application/backends/standard_utils/clingo_logger.py @@ -2,6 +2,7 @@ Clingo logger. TODO """ + from clingo import MessageCode diff --git a/clinguin/server/application/element.py b/clinguin/server/application/element.py index 3a889f85..915c58d4 100644 --- a/clinguin/server/application/element.py +++ b/clinguin/server/application/element.py @@ -1,6 +1,7 @@ """ Module that contains the ElementDto class. """ + import json diff --git a/clinguin/server/data/attribute.py b/clinguin/server/data/attribute.py index c39adb13..04999105 100644 --- a/clinguin/server/data/attribute.py +++ b/clinguin/server/data/attribute.py @@ -14,6 +14,8 @@ class AttributeDao(Predicate): - value: The value of the attribute. """ + # pylint: disable=abstract-method + id = RawField key = RawField value = RawField diff --git a/clinguin/server/data/callback.py b/clinguin/server/data/callback.py index 028ef48f..9b046930 100644 --- a/clinguin/server/data/callback.py +++ b/clinguin/server/data/callback.py @@ -10,15 +10,19 @@ class WhenDao(Predicate): Actions define the interactivity of the UI. Multiple actions are allowed, as explained below. - id: Identifier of the element that the user interacted with. - - event: The event that is being triggered, such as click, hover, input, etc. Each element type allows different events. + - event: The event that is being triggered, such as click, hover, input, etc. + Each element type allows different events. - action: The action performed. - call: Calls the server to perform an operation. - update: Updates the attribute of another element without any calls to the server. - - context: Updates the internal context that will be passed to the server on the following call actions. See Context for more details. + - context: Updates the internal context that will be passed to the server on the following call actions. + See Context for more details. - operation: The operation accounts for the information that the action requires for its execution. """ + # pylint: disable=abstract-method + id = RawField event = RawField action = RawField diff --git a/clinguin/server/data/element.py b/clinguin/server/data/element.py index d96c5f28..7533fe58 100644 --- a/clinguin/server/data/element.py +++ b/clinguin/server/data/element.py @@ -15,6 +15,8 @@ class ElementDao(Predicate): """ + # pylint: disable=abstract-method + id = RawField type = RawField parent = RawField diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py index 202b168b..2a173602 100644 --- a/clinguin/server/data/ui_state.py +++ b/clinguin/server/data/ui_state.py @@ -7,20 +7,17 @@ from pathlib import Path import clorm -from clingo import Control - - +from clingo import Control, parse_term from clingo.symbol import Function, Number, String -from clingo import parse_term from clingraph.clingo_utils import ClingraphContext from clorm import Raw from clinguin.utils import StandardTextProcessing, image_to_b64 +from ...utils.logger import uictl_log from .attribute import AttributeDao from .callback import WhenDao from .element import ElementDao -from ...utils.logger import uictl_log log = logging.getLogger("clinguin_server") diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py index 31102d70..feae484e 100644 --- a/clinguin/server/presentation/endpoints.py +++ b/clinguin/server/presentation/endpoints.py @@ -66,7 +66,7 @@ async def standard_executor(self): The get() method is implemented by every backend. """ self._logger.info(colored_text("=>=>=>=>=>=>=>=>=> GET", "GREEN")) - self._logger.info(colored_text("-->", "GREEN") + " get()") + self._logger.info("%s get()", colored_text("-->", "GREEN")) try: json = self._backend.get() self.last_response = json @@ -120,16 +120,14 @@ async def operation_executor(self, backend_call_string: BackendOperationDto): call_args = ",".join(function_arguments) self._logger.info( - colored_text("-->", "GREEN") + " %s(%s)", - function_name, - call_args, + "%s %s(%s)", colored_text("-->", "GREEN"), function_name, call_args ) EndpointsHelper.call_function( self._backend, function_name, function_arguments, {} ) - self._logger.info(colored_text("-->", "GREEN") + " get()") + self._logger.info(" get(%s)", colored_text("-->", "GREEN")) self.last_response = self._backend.get() self._logger.info(colored_text("--------------------", "GREEN")) diff --git a/clinguin/server_helper.py b/clinguin/server_helper.py index 243e1d40..ee56adc7 100644 --- a/clinguin/server_helper.py +++ b/clinguin/server_helper.py @@ -1,6 +1,7 @@ """ Responsible for starting the server """ + import uvicorn from fastapi import FastAPI from starlette.middleware.cors import CORSMiddleware diff --git a/clinguin/show_frontend_syntax_enum.py b/clinguin/show_frontend_syntax_enum.py index 70949b9d..89bbb9b9 100644 --- a/clinguin/show_frontend_syntax_enum.py +++ b/clinguin/show_frontend_syntax_enum.py @@ -1,6 +1,7 @@ """ Defines the possibilities how to show the syntax. """ + from enum import Enum, auto diff --git a/clinguin/utils/__init__.py b/clinguin/utils/__init__.py index bbc95fb6..81b06a64 100644 --- a/clinguin/utils/__init__.py +++ b/clinguin/utils/__init__.py @@ -1,6 +1,7 @@ """ The utils module of clinguin - contains some useful tools for clinguin. """ + from .attribute_types.utils.standard_text_processing import StandardTextProcessing from .case_converter import CaseConverter, image_to_b64 from .custom_args import CustomArgs diff --git a/clinguin/utils/annotations.py b/clinguin/utils/annotations.py index ba4053b8..c65661f2 100644 --- a/clinguin/utils/annotations.py +++ b/clinguin/utils/annotations.py @@ -1,10 +1,16 @@ -# import clinguin.server.application.backends -# from clinguin.server.application.backends import * - -import sys +""" +Annotations used to express overwrites and extensions of methods. +They enhance documentation and help to understand the code. +""" def extends(super_cls): + """ + Decorator to indicate that a method extends a method of a super class. + Args: + super_cls (_type_): The super class. + """ + def decorator(func): def wrapper(self, *args, **kwargs): return func(self, *args, **kwargs) @@ -23,6 +29,12 @@ def wrapper(self, *args, **kwargs): def overwrites(super_cls): + """ + Decorates a method to indicate that it overwrites a method of a super class. + Args: + super_cls (_type_): The super class. + """ + def decorator(func): def wrapper(self, *args, **kwargs): return func(self, *args, **kwargs) @@ -38,108 +50,3 @@ def wrapper(self, *args, **kwargs): return wrapper return decorator - - -# def overwrites(func): - -# def wrapper(self, *args, **kwargs): -# return func(self, *args, **kwargs) - -# cls_name = func.__qualname__.split(".")[0] -# module_name = func.__module__ -# module = sys.modules[module_name] -# cls = getattr(module, cls_name, None) - -# if cls is None: -# raise KeyError(f"Class {cls_name} not found in module {module_name}") - -# super_cls = cls.__bases__[0].__name__ -# overwrite_str = f""" -# Warning: -# Overwrites :meth:`{super_cls}.{func.__name__}` -# """ -# wrapper.__name__ = func.__name__ -# wrapper.__doc__ = (func.__doc__ or "") + overwrite_str - -# return wrapper - - -# import inspect - - -# def overwrites(func): -# def wrapper(self, *args, **kwargs): -# return func(self, *args, **kwargs) - -# cls = None -# for cls_candidate in inspect.getmro(type(func.__globals__)): -# if func.__name__ in cls_candidate.__dict__: -# cls = cls_candidate -# break - -# if cls is None: -# raise KeyError(f"Class for method {func.__name__} not found") - -# super_cls = cls.__bases__[0].__name__ -# overwrite_str = f""" -# Warning: -# Overwrites :meth:`{super_cls}.{func.__name__}` -# """ -# wrapper.__name__ = func.__name__ -# wrapper.__doc__ = (func.__doc__ or "") + overwrite_str - -# return wrapper - - -# # def overwrites(func): -# # def wrapper(self, *args, **kwargs): -# # return func(self, *args, **kwargs) - -# # cls = func.__qualname__.split(".")[0] -# # super_cls = func.__globals__[cls].__bases__[0].__name__ -# # overwrite_str = f""" -# # Warning: -# # Overwrites :meth:`{super_cls}.{func.__name__}` -# # """ -# # wrapper.__name__ = func.__name__ -# # wrapper.__doc__ = (func.__doc__ or "") + overwrite_str - -# # return wrapper - - -# # # def overwrites(func): -# # # cls = None -# # # cls = None - -# # # def wrapper(self, *args, **kwargs): -# # # cls = type(self) -# # # return func(self, *args, **kwargs) - -# # # overwrite_str = f""" -# # # Warning: -# # # {cls} -# # # {cls.__bases__} -# # # Overwrites :meth:`{func.__class__.__bases__[-1].__name__}.{func.__name__}` -# # # """ -# # # wrapper.__name__ = func.__name__ -# # # wrapper.__doc__ = func.__doc__ + overwrite_str - -# # # return wrapper - -# # # # def overwrites(func): - -# # # # def inner(): -# # # # func() - -# # # # help(func) -# # # overwrite_str = f""" -# # # Warning: -# # # {func.__class__} -# # # {func.__class__.__bases__} -# # # Overwrites :meth:`{func.__class__.__bases__[-1].__name__}.{func.__name__}` -# # # """ - - -# # # # inner.__name__ = func.__name__ -# # # # inner.__doc__ = func.__doc__ + overwrite_str -# # # # return inner diff --git a/clinguin/utils/attribute_types/__init__.py b/clinguin/utils/attribute_types/__init__.py index 7711caa9..a9262060 100644 --- a/clinguin/utils/attribute_types/__init__.py +++ b/clinguin/utils/attribute_types/__init__.py @@ -1,6 +1,7 @@ """ Module which contains all possible attribute- and callback-types. """ + from .boolean import BooleanType from .child_layout import ChildLayoutType from .color import ColorType diff --git a/clinguin/utils/attribute_types/child_layout.py b/clinguin/utils/attribute_types/child_layout.py index 6ae39990..73154b4b 100644 --- a/clinguin/utils/attribute_types/child_layout.py +++ b/clinguin/utils/attribute_types/child_layout.py @@ -1,6 +1,7 @@ """ Module that contains the ChildLayoutType. """ + from enum import auto from .enum import EnumType diff --git a/clinguin/utils/attribute_types/flex_direction.py b/clinguin/utils/attribute_types/flex_direction.py index e4c2ffca..d77f858b 100644 --- a/clinguin/utils/attribute_types/flex_direction.py +++ b/clinguin/utils/attribute_types/flex_direction.py @@ -1,6 +1,7 @@ """ Module that contains the FlexDirectionType """ + from enum import auto from .enum import EnumType diff --git a/clinguin/utils/attribute_types/font_families.py b/clinguin/utils/attribute_types/font_families.py index 244fc624..87df2f70 100644 --- a/clinguin/utils/attribute_types/font_families.py +++ b/clinguin/utils/attribute_types/font_families.py @@ -2,7 +2,6 @@ Module that contains the FontFamiliesType. """ - from .type import Type from .utils.standard_text_processing import StandardTextProcessing diff --git a/clinguin/utils/attribute_types/font_weight.py b/clinguin/utils/attribute_types/font_weight.py index 4d496380..508ecce8 100644 --- a/clinguin/utils/attribute_types/font_weight.py +++ b/clinguin/utils/attribute_types/font_weight.py @@ -1,6 +1,7 @@ """ Module that contains the FontWeightType. """ + import itertools from enum import auto diff --git a/clinguin/utils/attribute_types/image.py b/clinguin/utils/attribute_types/image.py index 090581e6..f7dd2938 100644 --- a/clinguin/utils/attribute_types/image.py +++ b/clinguin/utils/attribute_types/image.py @@ -1,6 +1,7 @@ """ This module contains the ImageType class. """ + import base64 from .type import Type diff --git a/clinguin/utils/attribute_types/popup_types.py b/clinguin/utils/attribute_types/popup_types.py index 154b33f5..dcbe80c2 100644 --- a/clinguin/utils/attribute_types/popup_types.py +++ b/clinguin/utils/attribute_types/popup_types.py @@ -1,6 +1,7 @@ """ Module that contains the PopupTypesType. """ + from enum import auto from .enum import EnumType diff --git a/clinguin/utils/logger.py b/clinguin/utils/logger.py index 5e6bf14e..67b5832b 100644 --- a/clinguin/utils/logger.py +++ b/clinguin/utils/logger.py @@ -29,10 +29,16 @@ def colored_text(txt, color): def uictl_log(text): + """ + Adds the color of the ui control to the given text for logging + """ return colored_text(text, "CYAN") def domctl_log(text): + """ + Adds the color of the domain control to the given text for logging + """ return colored_text(text, "MAGENTA") @@ -163,6 +169,3 @@ def setup_uvicorn_logger_on_startup(cls, log_arg_dict): cls._add_shell_handler_to_logger(logger, log_arg_dict) if log_arg_dict["file_enabled"]: cls._add_file_handler_to_logger(logger, log_arg_dict, log_file_path) - - def print_domctl_log(self, call): - self.debug(colored_text(call), "CYAN") diff --git a/clinguin/utils/transformer.py b/clinguin/utils/transformer.py index eebed67d..6bcedd7c 100644 --- a/clinguin/utils/transformer.py +++ b/clinguin/utils/transformer.py @@ -1,3 +1,7 @@ +""" +A clingo transformer that checks if files are using a given predicate signature +""" + import clingo.ast as _ast @@ -12,6 +16,9 @@ def __init__(self, name: str, arity: int) -> None: self.contained = False def visit_Function(self, node: _ast.AST) -> _ast.AST: + """ + Visits a function node and checks if it is the predicate signature we are looking for + """ if node.name == self.name and len(node.arguments) == self.arity: self.contained = True return node @@ -20,4 +27,5 @@ def parse_files(self, paths) -> str: """ Parses the files and returns a string with the transformed program. """ + # pylint: disable=unnecessary-lambda _ast.parse_files([str(p) for p in paths], lambda stm: self(stm)) diff --git a/tests/reference_json_output/__init__.py b/tests/reference_json_output/__init__.py index 404069e9..5ee42ece 100644 --- a/tests/reference_json_output/__init__.py +++ b/tests/reference_json_output/__init__.py @@ -33,5 +33,5 @@ BasicTest10.__name__, BasicTest11.__name__, BasicTest12.__name__, - Sudoku.__name__ + Sudoku.__name__, ]